微服务基础架构

Monolithic vs Microservice

Monolithic Microservice
开发测试 Java类语言项目越大,运行调试需要越多的编译时间,本地调试有较多依赖,况且业务复杂后不易新人上手 只有部分功能的代码,运行更快速,根据业务划分,方便新人上手
部署 更新整个项目 更新一个微服务
生产调试 日志集中,调试方便 日志分散,服务依赖复杂;拓容简便

这两种架构视乎业务的复杂程度和代码量的大小,复杂程度低于一定程度,还是单一应用开发更快速,部署更加容易,因为服务拆分和线上的调试这些都是需要成本,反之,当业务不断增加,代码不断膨胀,服务拆分显得逐渐重要,公共功能能抽出来做成基础服务,各个业务所需的轮子也不需要重新造一遍,反而节省了开发成本,同时对于新人的加入,由于服务职责单一,让新人进来一个一个服务地熟悉,好过于一个大而全的项目。

微服务基础架构

Microservice

处理流程

  1. 浏览器发起下单请求到负载均衡(LB)
  2. 负载均衡派发请求到API gateway
  3. API gateway查询服务发现,找到user服务和store服务,将用户信息和商品ID发送给store服务,
  4. store服务查询MySQL,找到商品信息,生成订单信息,将请求发送给payment服务
  5. payment服务根据用户指定的支付渠道,向第三方服务发起请求,存储订单信息,并返回订单状态
  6. store服务 -> API gateway -> LB
  7. LB返回数据到浏览器

微服务技术

 

Microservice-SKILLS
本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 微服务基础架构

分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址