pring Cloud Netflix Eureka
传统服务治理
XML-RPC -> XML方法描述、方法参数->WSDL(WebServices定义语言)
WebServices->SOAP(HTTP、SMTP) ->(头部分、体部分)
REST->JSON/XML(Schema:类型、结构)->文本协议(HTTP Header、Body)
W3C Schema:xsd:string原子类型,自定义自由组合原子类型
Java POJO:int、String
Response Header -> Content-Type:application/json;charset=UTF-8
Dubbo:Hession、Java Serialization(二进制),跨语言不变,一般通过Client(Java、C++)
二进制的性能非常好(字节流,免去字节流(字符编码),免去了字符解析,对机器友好、对人不友好)
序列化:把编程语言数据转换成字节流、反序列化:字节流转换成编程语言的数据结构(原生类型的组合)
高可用架构
URI:统一资源定位符
URI:用于网络资源定位的描述 Universal Resource Identifier
URL:Universal Resource Locator
网络是通讯方式
资源是需要消费媒介
定位是路由
Proxy:一般是代理,路由
Nginx:反向代理
Broker:包括路由,并且管理,古老的称谓(MOM)
Message Broker:消息路由、消息管理(消息是否可达)
可用性比率计算
可用性利率:通过时间来计算(一年或者一个月)
比如:一年99.99%
可用时间:365*24*3600*99.99%
不可用时间:365*24*3600*0.01%=3153.6秒<一个小时
不可用时间:1个小时推算一年 1/24/365 = 0.01%
单台机器不可用比率:1%
两台机器不可用比率:1%*1%
N台机器不可用比率:1%^N
可靠性无锡人流费用 http://www.xasgfk120.com/
微服务里面存在的问题:
一次调用
A -> B -> C
99% -> 99% -> 99% = 97%
A -> B -> C -> D
99% -> 99% -> 99% -> 99% =96%
结论:增加机器可以提高可用性,增加服务会降低可靠性,同时降低了可用性。
Eurek服务器
Eurek服务器一般不需要自我注册,也不需要注册其他服务器
Eureka 自我注册的问题,服务器本身没有启动
Fast Fail:快速失败
Fault-Tolerance:容错
通常经验,Eureka服务器不需要开启自动注册,也不需要检索服务
## 取消服务器自我注册
eureka.client.register-with-eureka=false
## 注册中心的服务器,没有必要再去检索服务
eureka.client.fetch-registry=false
但是这两个设置并不影响服务器的使用,不过建议关闭,为了减少不必要的异常堆栈,减少错误的干扰(比如:系统异常和业务异常)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。