开课吧孤尽T31训练营学习笔记-DAY10-技术选型设计笔记

234 阅读2分钟

技术选型笔记

一、关于技术选型

孤尽老师在第一节课中提到架构的概念, 架构就是组成+决策,那么做技术选型就是 开发组件选择的一个决策过程。

1.1 技术选型考虑因素

  1. 降低开发成本
  2. 提高研发效率
  3. 考虑流行度,能不能招到合适的人来搞定这块。

1.2 微服务发展历史

单体应用 -> SOA(ESB) -> 微服务 -> 微服务落地(springboot + spring cloud) -> spring netflix

image.png

1.3 微服务架构和优势

  1. 业务隔离
  2. 并行开发
  3. 易于维护
  4. 单独部署

二、微服务选型

2.1 数据访问层选型

数据连接池选型对比:

image.png

2.2 消息中间件

功能不具备一票否决权

重性能、重扩展

技术栈、团队驾驭能力

image.png

2.3 远程调用框架

框架公司通讯协议序列化协议开发语言注册中心
FeignNetflixhttp二进制Java
DubboAlibabatcp/http可扩展Java支持
gRPCGooglehttp2protobuf跨语言可实现
ThriftFacebooktcp/http可扩展跨语言可实现

2.4 网关

网关分类

流量网关

  1. 全局性流控
  2. 防止Web攻击
  3. 屏蔽工具扫描
  4. 黑白IP名单
  5. 证书/加解密处理

业务网关

  1. 服务级别流控
  2. 服务降级与熔断
  3. 路由与负载均衡、灰度策略
  4. 服务过滤、聚合与发现
  5. 多级缓存策略

网关部署形式

单点网关

多点网关

网关选型对比

image.png

三、选型总结

选型有时也是拍脑袋的事情,一开始往往不一定能做出最好的决定。

一旦做出选择后,技术人员就是要把这个决定变成最好的决定,充分去学习和了解选型的技术。通过看文档,看源码,让技术框架发挥出他应有的能力。

大多时间不是选型的问题,是技术人员的驾驭能力问题。