微服务架构超详细介绍

一、 单体架构

单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合 在一个应用中的架构方式。 1. 单体架构特点

    打包成一个独立的单元(导成一个唯一的jar包或者是war包) 会一个进程的方式来运行

2. 单体架构的优点、缺点 2.1优点

    项目易于管理 部署简单

2.2缺点 1.测试成本高 2.可伸缩性差 3.可靠性差 4.迭代困难 5.跨语言程度差 6.团队协作难

二、 微服务架构

    客户端与服务端的 基于组件模型的架构(EJB) 分层架构(MVC) 面向服务架构(SOA)

三、 MVC、RPC、SOA、微服务架构之间的区别

1. MVC 架构 其实 MVC 架构就是一个单体架构。 代表技术:Struts2、SpringMVC、Spring、Mybatis 等等。 2. RPC 架构 RPC(RemoteProcedureCall):远程过程调用。他一种通过网络从远程计算机程序上请求 服务,而不需要了解底层网络技术的协议。 代表技术:Thrift、Hessian 等等 3. SOA 架构 SOA(ServiceorientedArchitecture):面向服务架构 ESB(Enterparise Servce Bus):企业服务总线,服务中介。主要是提供了一个服务于服务 之间的交互。 ESB 包含的功能如:负载均衡,流量控制,加密处理,服务的监控,异常处理,监控 告急等等。 代表技术:Mule、WSO2 4 微服务架构 微服务就是一个轻量级的服务治理方案。 代表技术:SpringCloud、dubbo 等等

四、 如何设计微服务以及设计原则

  1. 无状态协议 HTTP,具备先天优势,扩展能力很强。例如需要安全加密,有 现成的成熟方案 HTTPS即可。
  2. JSON 报文序列化,轻量简单,人与机器均可读,学习成本低,搜索引擎友 好。
  3. 语言无关,各大热门语言都提供成熟的 RestfulAPI 框架,相对其他的一些 RPC 框架生态更完善。
经验分享 程序员 微信小程序 职场和发展