spring cloud

微服务的定义:
1. 一系列的独立的服务共同组成系统
2. 单独部署,跑在自己的进程里
3. 通常通过http的api调用
4. 每个服务为独立的业务开发
5. 分布式的管理

spring cloud
为开发者在分布式系统中快速构建一些公共的模式提供一些列工具(例如 配置管理、服务发现、断路器、智能路由、微代理,控制总线、一次性令牌、全局锁、分布式session、集群状态、群首选举)。

服务发现 Eureka
在微服务架构中,每一个服务都是由多个拷贝来做负载均衡。一个服务随时可能下线,也可能应对临时访问压力增加新的服务节点。服务之间如何感知?

当发起http api调用,调用方需要很清楚的定位到被调用服务的,这就是[color=red]服务发现Eureka[/color]的作用。当某个服务启动的时候,告诉[color=red]Eureka[/color]自己的ip和端口,将自己注册到Eureka上,并从Eureka拉取注册表副本保存本地,并通过心跳维持长链接。这样当发起http api时, 调用方就知道这个服务有多少实例在线,都在哪些地方,方便去负载均衡和调用。
Eureka是客户端发现模式,优点是服务调用、负载均衡不需要和Eureka Server通信,直接使用本地注册表副本,因此Eureka Server不可用时是不会影响正常的服务调用,性能也不会因为网络延迟和服务端延迟受到影响。但其缺点也很明显,但某个服务不可用时,各个Eureka Client不能及时的知道,需要1~3个心跳周期才能感知。

构建 Eureka server



[img]http://dl2.iteye.com/upload/attachment/0123/7886/71866694-adbf-34a1-8957-471e8a5a42de.png[/img]


[img]http://dl2.iteye.com/upload/attachment/0123/7890/4eee118b-de91-38e4-b121-d2b99245fe0f.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0123/7888/86334443-a4a6-347c-9390-3caaa272472b.png[/img]

单server模式

register-with-eureka: false 不将自身注册到其他 eureka server上
fetch-registry: false 不从其他eureka server上拉取服务注册表副本

多server高可用 互相注册

---
spring:
profiles: server1
eureka:
instance:
hostname: server1
client:
serviceUrl:
defaultZone: http://server1/eureka/

---
spring:
profiles: server2
eureka:
instance:
hostname: server2
client:
serviceUrl:
defaultZone: http://server2/eureka/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值