文档章节

221 springCloud 学习

Lucky_Me
 Lucky_Me
发布于 04/29 15:48
字数 926
阅读 28
收藏 0

1. 概念

                                 

1.1 springCloud是什么?

   springCloud是一种微服务治理框架:

1.2 springCloud优势:

   

 

2.服务治理SpringCloud Eureka

 

                                       

2.1 什么是服务治理

          在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册===》服务管理

2.2 服务注册中心

 

   概念: 提供服务治理功能,用来实现各个微服务实例的自动注册与发现

 

 

                                                     

 2.2   服务注册

    有一个注册中心,当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上

 2.3  服务发现

   另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址

2.4 搭建eureka注册中心

 

搭建eureka服务器

重要:

###服务端口号
server:
  port: 8000
###eureka 基本信息配置
eureka:
  instance:
    ###注册到eurekaip地址
    hostname: 127.0.0.1
  client:
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
    ###因为自己是为注册中心,不需要自己注册自己
    register-with-eureka: false
    ###因为自己是为注册中心,不需要检索服务
    fetch-registry: false

 

在驱动器类上添加 

@EnableEurekaServer

完成的效果:

2.5 编写 服务提供者

删除.proties文件 使用yml(个人习惯)

###服务启动端口号
server:
  port: 8100
###服务名称(服务注册到eureka名称)
spring:
    application:
        name: app-provide
###服务注册到eureka地址
eureka:
  client:
    service-url:
           defaultZone: http://localhost:8000/eureka


###因为该应用为注册中心,不会注册自己
    register-with-eureka: true
###是否需要从eureka上获取注册信息
    fetch-registry: true

编写 服务端代码

 

效果:

2.6 服务消费

方式一:直接使用httpClient调用 (不建议 越过了注册中心  )

方式二:rest方式调用服务

2.6.1 rest方式调用服务

 

 

###服务启动端口号
server:
  port: 8200
###服务名称(服务注册到eureka名称)
spring:
    application:
        name: app-customer
###服务注册到eureka地址
eureka:
  client:
    service-url:
           defaultZone: http://localhost:8000/eureka


###因为该应用为注册中心,不会注册自己
    register-with-eureka: true
###是否需要从eureka上获取注册信息
    fetch-registry: true

消费者类

效果:

2.7 代码分享

码云:

https://gitee.com/Luck_Me/ideaspring_cloudintroduction/tree/master

百度云:

链接:https://pan.baidu.com/s/128iaKCCrfxvqgZeLBBQ0_Q 
提取码:0ffs 

2.8 @LoadBalanced实现本地负载均衡

多配置几个服务提供者   @LoadBalanced会帮助我们自动实现本地负载均衡(默认轮询方式   )

效果:这里只是配置2个 其实3个及以上一模一样(测试过)

 

 

实现过程:

2.9  eureka注册中心 集群

3个及以上的eureka集群效果

 实现过程:(记得每一个服务中 都要改持有对方的信息)

###服务端口号
server:
  port: 8001
###eureka 基本信息配置
eureka:
  instance:
    ###注册到eurekaip地址
    hostname: 127.0.0.1
  client:
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:8000/eureka/
    ###因为自己是为注册中心,不需要自己注册自己
    register-with-eureka: true
    ###因为自己是为注册中心,不需要检索服务
    fetch-registry: true

 

2.10 客户端调用Eureka2.0集群环境

效果:

 

测试宕机后的效果:

实现过程:

 

代码(要与上面分享的进行区分  这个是用了各种集群了):

 

码云:

https://gitee.com/Luck_Me/ideaspring_cloudintroduction/tree/master

百度云:

链接:https://pan.baidu.com/s/128iaKCCrfxvqgZeLBBQ0_Q 
提取码:0ffs 

© 著作权归作者所有

Lucky_Me
粉丝 17
博文 234
码字总数 89927
作品 0
美国
私信 提问
Spring Cloud-Honghu Cloud分布式微服务云系统(一)

简介 鸿鹄云Cloud是基于SpringCloud来封装的,是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器...

明理萝
2018/09/07
242
1
SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)

前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识。 SpringCloud Hystrix Hystrix 介绍 Netflix创建了一个名为Hystrix的库,它实现了断路器模...

虚无境
05/31
189
0
史上最简单的 SpringCloud 教程 | 终章

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/70148833 转载请标明出处...

方志朋
2017/04/12
0
0
springcloud eureka 服务注册中心

------------------------------------------------------------------------------------------------------------ springcloud (零) springboot 基础 下载 springcloud (一)服务注册中心 ......

curiousby
2017/02/08
0
0
SpringCloud--鸿鹄Cloud分布式微服务云系统

简介 鸿鹄云Cloud是基于SpringCloud来封装的,是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器...

itcloud
2018/07/25
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

[转] Java 无界阻塞队列 DelayQueue 入门实战

原文出处:http://cmsblogs.com/ 『chenssy』 DelayQueue是一个支持延时获取元素的无界阻塞队列。里面的元素全部都是“可延期”的元素,列头的元素是最先“到期”的元素,如果队列里面没有元...

泥瓦匠BYSocket
14分钟前
4
0
zk中集群版中角色和消息类型

服务器角色 LEADER LEARNER FOLLOWING OBSERVER 消息类型 数据同步 服务器初始化 请求处理型 会话管理型 LEADER 集群工作核心,作用有: 1事务请求唯一调度和处理者,保证事务处理顺序性 2集...

writeademo
16分钟前
3
0
阿里云推送的基本使用-Swift;iOS10+

func initCloudPush(){ CloudPushSDK.asyncInit("*****", appSecret: "*******") { (result) in if result!.success{ print("deviceId===......

west_zll
28分钟前
3
0
分布式及高可用元数据采集原理

转载本文需注明出处:微信公众号EAWorld,违者必究。 引言: 元数据采集是元数据产品的核心部分,如何提升采集效率是需要仔细斟酌的事情,既要保持稳定性也要保持跟上主流技术的发展趋势。元...

EAWorld
43分钟前
4
0
为构建社交关系链手淘都做了啥?

作者|王卫(泓冰) 出品|阿里巴巴新零售淘系技术部 01、淘宝社交关系推荐的背景 1、互联网下半场到来:互联网的下半场,人口红利消失,各大平台需要对用户做精细化运营,用户的增长和留存是每一...

阿里云官方博客
44分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部