技术架构选型--笔记

183 阅读2分钟

技术架构选型

「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战

1. 关于技术选型

为什么要技术选型?

目的:降低开发成本,提高研发效率

1.2 微服务架构的产生

单体架构

所有的模块打包到一起部署运行,例如:打包一个war包放到一个tomcat下运行,这种架构也叫巨石型应用架构,在开发小型项目上有独特优势,易于调试、部署、运维方便

缺点:

  1. 不可靠,任何模块的一个bug,可能会托跨整个应用
  2. 单位扩展,只能通过运行更多的服务器水平扩展,而不同的应用服务对资源的需求不同
  3. 不可持续发展, 引入新的框架或语言要重构所有的业务模块,往往需要在初期就选定技术栈

SOA(面向服务架构)

SOA(Service Oriented Architecture), 面向服务架构,他是一种设计方法,设计上通常是自上而下的,服务间松散耦合。ESB集成不同协议的服务,做消息的转化、解释、路由从而联通各个服务,解决企业通信问题,服务松耦合、可扩展

缺点:

  1. ESB的存在并没有根本解决单体巨石应用的一些问题
  2. SOA更多的面向企业服务,服务拆分粒度很大,更多的是为了复用

微服务架构

微服务,是去中心化的SOA扩展,它强调服务彻底的组件化,一个组件就是一个产品,服务切分粒度更小,设计上更多的自下而上的,服务间通过轻量化的协议进行通信,并根据服务本身需要独立化部署

2. 数据访问层选型

image-20211106102328235.png

3. 常用中间件选型

MQ消息队列

image-20211106102435906.png

深度截图_选择区域_20211105224432.png

4.网关层原型

API网关的由来

image-20211106103417028.png

网关的分类

image-20211106103450874.png

网关的部署形式

image-20211106103524973.png

开源网关图谱

image-20211106103614230.png