分布式服务架构基础

RPC远程服务调用的技术棧:

  1.  JDK RMI:JDK内置序列化和反序列化协议。

没被广泛运用:a.不能跨语言;b.使用底层网路协议,没有http可读性及广泛性。

    2.Hessian及Burlap:基于HTTP传输。
Hessian:将对象序列化成与语言无关的二进制协议;

Burlap:将对象序列化成与语言无关的XML数据,可读,但是沉重;

    3.Spring HTTP Invoker

重用了JDK内置对象序列化技术传输对象,与RMI一致,但是通过HTTP通道传输数据,无法跨语言。

 

SOA服务化框架

1.Dubbo:可服务监控,服务治理和服务调度等能力。

默认支持多种序列化协议和通信编码协议,默认使用Dubbo协议传输Hessian序列化的数据。

Dubbo使用Zookeeper作为注册中心来发现注册服务,通过客户端负载均衡来路由请求,
负载均衡的算法:随机、轮询、一致哈希、最少活跃调用等。Zookeeper基于java没法跟其他语言的服务化平台相互调用。
Dubbo缺点:体量大时有网络广播风暴,并且对熔断、限流、服务隔离没有完全体,包括监控这些。这方面我爱SpringCloud全家桶!

2.HSF好舒服,淘宝滴东西。
3.Thrift facebook对,支持跨语言服务开发和调用。
4.AXIS 太早 SOAP协议通常使用HTTP传输XML,性能底下,协议较为复杂臃肿。

 

微服务

1.Spring Boot :配置部署方便至极。独立。可以最大化自动配置Spring。

Spring Boot与传统  JEE Tomcat容器 反着来, 它将容器嵌入Jar包,如:Tomcat、Jetty、Netty

 

2.Netflix:主要提供来服务发现、断路、路由、客户端负载均衡。

其中Hystrix框架提供来微服务架构所需对容错机制的解决方案和设计模式,熔断器~

大大简化容错的实现,包括服务的分组和隔离、熔断和防止级联失败,限流机制,失效转移,监控机制等。

3.Spring Cload Netflix 包括服务发现组件Eureka、容错性组件Hystrix、智能路由组件Zuul、客户端负载均衡组件Ribbon、Feign通过声明的方式即可导入服务代理。
关于最简单的Spring Boot 、Spring Cloud 请看方志朋。。https://blog.csdn.net/forezp/article/details/70148833

如何解决分布式系统的一致性问题?2019-01-03 23:20:00 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值