一 分布式应用架构演进

    垂直应用架构:LAMP架构:linux+apache tomcat+mysql+php,复杂应用的开发维护成本高,部署效率逐渐降低;团队协作效率差,部分公共功能重复开发,代码重复率居高不下;系统可靠性变差;维护和定制困难;新功能上线周期长;不利于业务扩展;性能瓶颈;
    RPC全称是Remote Procedure Call,它是一种进程间通信方式。
    PRC框架的目标就是让远程过程调用更加简单/透明,PRC框架负责屏蔽底层的传输方式(TCP或UDP)/序列化方式(XML/JSON/二进制)和通信细节。
    JAVA原生态的序列化/SOCKET通信/动态代理/反射机制,实现最简单的RPC框架。它有三部分组成:
    1)服务提供者,它运行在服务端,负责提供服务接口定义和服务实现类。
    2)服务发布者,它运行在RPC服务端,负责将本地服务发布成远程服务,供其它消费者调用。
    3)本地服务代理,它允许在PRC客户端,通过代理调用远程服务提供者,然后将结果进行封装返回给本地消费者。

    Apache Thrift
    Avro-RPC   hadoop下的一个子项目
    Hessian     二进制RPC框架
    Dubbo
    gRPC     基于HTTP/2设计,更多强大的功能

    Protobuf是一个灵活/高效/结构化的数据系列化框架,跨语言

    SOA服务化架构,是一种粗粒度/松耦合的以服务为中心的架构,接口之间通过定义明确的协议和接口进行通信。
    原则:服务可复用;服务共享一个标准契约;服务是松耦合的;服务是底层逻辑的抽象;服务是可组合/可编排的;服务之自治的(不依赖于其他服务);服务是无状态的;服务是可以被自动发现的;

微服务架构是一种服务化架构风格,通过将功能分散到各个离散的服务中以实现对解决方案的解耦。
特征:原子服务,专注于做一件事;高密度部署;敏捷交付;微自治。

企业服务总线(ESB)

微服务架构对比SOA:
1)服务拆分粒度
2)服务依赖
3)服务规模
4)架构差异
5)服务治理
6)敏捷交付


总结

MVC --> RPC --> SOA --> 微服务
    



























    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值