Spring Cloud笔记

目录

1、如何调用底层服务? RestTemplate

2、是如何找到底层服务的呢?Eureka

3.服务负载均衡 Ribbon

4.写RestTemplate太繁琐?提供方与调用方沟通成本大,效率不高? Open Feign

5、底层系统响应慢,超负载要宕机了怎么办? Hystrix

6.网关Zuul,Router and Filter,令牌桶限流(单机)


 

1、如何调用底层服务? RestTemplate

rpc 调用。spring cloud 使用 http 作为底层协议。

spring 提供了一个访问 http 服务的客户端类 RestTemplate ,RestTemplate 传入服务端服务名&端口&方法的Mapping路径、服务端需要的Request参数、服务端的返回值

 

2、是如何找到底层服务的呢?Eureka

就像 Consumer 租房子,是如何找到有房出租的人?如何发现中意的房子?

简单粗暴法,一个个人去问,你有没有房子出租?Provider是这个街区的本地人,他刚好有房,但是这个街区足足好几万人。对于供需双方而言,效率太都过低下

有困难的地方就有生意?

这时Eureka出现了,这片区域所有有房出租的房东都会去Eureka那里登记,因为听说登记之后房子曝光率大大提升了,好房子几乎很快就能被租出去,Provider当然要去试一试。需要房子的Consumer也听说了这个消息,只需要花相比之前极少的时间就能获得一个出租房列表,找到中意的房子。原来,Eureka就叫中介

房东电话打不通?房东不租了?

但有时候,房子列表也有写问题,租房人找到房东,有电话打不通的,也有宕房东却说不租了,这是怎么回事?原来,房子列表一直在增加信息,一些过时的信息却没有去掉,宕房东早就不想出租了,但忘记跟Eureka讲,Eureka也没主动去问。聪明的Eureka想了个办法,房屋出租服务续约:每隔一个规定时间,房东需要来告知他房子是否还出租;房屋出租服务剔除:3次没有告知视为不出租了;Eureka将此项写进合同。这样,出岔子的事几乎没有了,对并没有完全解决,时不时还是会出现。Eureka认为一定是房东的问题,这次他又在合同中加了一条,房屋出租服务下线:房东确定不想出租时,必须及时通知!问题又有些许好转。最后Eureka在一个找房子的顾客得到了答案,原来那个顾客用笔记记下了自己重点关注的几个房子的信息,因为太忙现在房子也还没有到期不是很急,半个月后才去联系上面的房东。这难不倒,聪明的Eureka,他做了一个信息网站用以维护出租房屋的信息,这样顾客就能及时在需要的时候获取到新的信息,及时记录下的重点信息有变动,也能及时更改。

Eureka集团?生意大好,Eureka一个人忙不过来,于是Eureka集团诞生了。

 

 

3.服务负载均衡 Ribbon

Nginx的集中式负载均衡,这也叫负载均衡?那你自己挂了怎么办?Ribbon来帮忙

牛逼的负载均衡就是每个客户端自己实现负载均衡!——Ribbon

负载均衡具体策略

默认使用RoundRobinRule轮询、RandomRule随机、RetryRule先轮询+重试

Ribbon建立在RestTemplate之上。

 

4.写RestTemplate太繁琐?提供方与调用方沟通成本大,效率不高? Open Feign

RestTemplate 传入服务端服务名&端口、服务端需要的Request参数、服务端的返回值。这些都由客户端来处理容易出问题

Open Feign(内置Ribbon)来解决,@FeignClient由提供方提供成jar包,调用方引用即可,顺滑

 

5、底层系统响应慢,超负载要宕机了怎么办? Hystrix

不让病情恶化:服务降级(如:配置快速失败 HystrixCommand.fallbackMethod),让服务有自行恢复的可能

打疫苗:配置熔断时间(EnableHystrix),快速阻断病毒传播造成雪崩式灾难

强身体健体才是根本:水平扩展(增加服务个数,分流处理),垂直扩展(单机硬件性能、软件性能提升)。

 

6.网关Zuul,Router and Filter,令牌桶限流(单机)

如何实现分布式下的限流?redis过期时间 & incr() 方法可以利用起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值