Java|想学好Java,怎么可能会不知道,什么是微服务?


Java|想学好Java,怎么可能会不知道,什么是微服务?
文章图片
Java|想学好Java,怎么可能会不知道,什么是微服务?
文章图片
Java|想学好Java,怎么可能会不知道,什么是微服务?
文章图片
Java|想学好Java,怎么可能会不知道,什么是微服务?
今天是刘小爱自学Java的第133天 。
感谢你的观看 , 谢谢你 。
学习内容安排如下:

  • 系统架构的演化:集中式架构、分布式架构 。
  • 服务之间的调用方式:HTTP和RPC 。
  • Spring提供的RestTmeplate模板的使用 。
当然系统架构肯定不是说我一篇文章就能学好的 , 只能说我作为一名初学者 , 是如何去理解这些概念的 。
至于想要真正地去弄懂这些 , 需要自己长期性地不断学习 , 非一朝一夕就能学完的 。
一、系统架构概述技术更新是非常快的 , 从单一应用到垂直细分 , 到分布式 , 到SOA , 以及微服务架构 。
还有在Google带领下的Service Mesh , 只有不断地学习才能在IT行业前行下去 。
1集中式架构
当网站流量很小时 , 只需一个应用 , 将所有功能都部署在一起 , 以减少部署节点和成本 。
但是流量一旦增加就会出现各种的问题:
  • 代码耦合 , 开发维护困难 。
  • 无法针对不同模块进行针对性优化以及扩展 。
  • 单点容错率低 , 并发能力差 。
当然为了解决这些问题 , 后续也做了优化 , 根据业务功能对系统进行拆分 。
虽然解决了代码耦合问题 , 但是系统间相互独立 , 会有很多重复开发工作 , 影响开发效率 。
举一个例子来理解 , 比如说一个电商项目 , 根据业务功能拆分成两套系统:
  • 前端门户系统:就是用户看到的界面 。
  • 后台管理系统:内部人员的管理界面 。
那么现在问题来了:
根据id去数据库查询商品 , Service层和Dao层的代码要写两遍 , 造成了代码的极度冗余 。
2分布式服务
为了解决代码冗余问题 , 可以将核心业务作为独立的服务抽取出来 , 形成服务中心 。
多个子系统只需要访问服务中心就好了 。
优点:将基础服务进行了抽取 , 系统间相互调用 , 提高了代码复用和开发效率 。
缺点:一旦服务变多 , 调用关系错综复杂 , 开发者自己都搞不清楚谁调用谁 , 难以维护 。
3流动计算架构SOA
它将普通的分布式系统集中管理起来了 , 更便于维护 , 同时也提高资源利用率 。
其典型的架构就是阿里巴巴的Dubbo , 这个架构图就比较复杂了 , 我就不自己画了 。


推荐阅读