eureka
hystrix 暂时限制其他不重要模块的使用(查看订单、客服系统),只允许最重要的功能使用
网关:转发/filter/鉴权
ribbon、feign平滑的发起多个请求
服务发现:consumer客户端去请求服务端的服务发现
网络问题n2服务的不可用 n2接口变化
ap秒杀 双十一 (采用最终一致性)订单页面能跳转到支付页面但提示该商品已清空
ca 不要分区容错性(分布式结构由于网络断裂造成的数据不一致) ,变成单体结构
cp 不用可用性 如果 n2节点在同步一致性的时候出错,导致n1-20=90,n2还是100,则整个服务不可用 ,在n1和n2数据同步之后才可用
ba basic avalible基本可用 (为了达到基本可用,可以去掉某些不重要的模块)
s-soft软状态 允许db系统存在中间的状态 下一个订单,数据库里的状态经过abcd 当出现故障的时候允许不同节点的副本出现软状态(副本同步的延迟)
e最终一致性
ebay提出,没有办法达到强一致性(n1和n2的数据实时是一样的),但是可以达到最终一致性
创建一个eureka server
配置
@Eurekaserverconfiguration
eureka每隔60s检测一次心跳,每90s服务没有响应就会去掉服务
自我保护机制,防止服务列表没有服务
服务注册:client---server:ip,port,url,服务相关的信息 server存储这些信息(双层map) 1层服务相关的信息 2层存实例
服务续约:每60s发送一次心跳,90s没有续约则去掉 client端发起,30s
服务获取:client端---server的服务列表后缓存30s server端也会缓存30s 内存---读写缓存---只读缓存 (获取服务列表是逆向)
服务调用:region包括多个zone A服务调用B读物,首先会在1个zong中请求,如果找不到,才会去别的zong请求 ,减少性能消耗
服务下线:由up状态改成down状态
服务剔除,过了几秒之后服务还会显示上去
eureka由程序控制一致性
@eurekaServerConfiguration 有market就会自动配置