微服务架构入门

什么是软件架构?

软件架构是一个系统的基本组织,体现在系统的各个组件(如web服务器,应用服务器,数据库,存储,通信等),组件之间的关系,以及系统的外部环境(如发布环境,共享服务器,专用服务器,云发布等)。 还包括指导系统设计和演化的原理。

什么是微服务软件架构?

微服务就是开发一个单纯的,小型的,有意义的功能作为一个单一服务。每个服务都有自己的进程,通过轻量级的协议进行通信,发布在一个或者多个服务器上。

微服务架构的好处

  • 每个微服务都是一个小的,专注实现一个特定功能或商务需求的服务
  • 微服务可以由一个小的开发组独立的发布(一般2到5个开发者)
  • 微服务松耦合,这意味着服务之间可以独立的开发和部署
  • 微服务可以由不同的开发语言开发
  • 微服务允许持续集成工具容易且灵活的自动集成部署(如Jenkins, Hudson, bamboo 等).
  • 新的团队成员可以很快融入到开发中
  • 微服务易于理解, 开发人员容易修改和维护, 这是因为这种架构下服务之间的代码都是独立的,团队很小,目标明确
  • 微服务允许你充分采用最新的技术(框架,编程语言,编程实践等)
  • 微服务仅包含商业逻辑代码,不会混合HTML, CSS等其它UI组件
  • 规模扩大时微服务很容易扩展
  • 微服务可以部署在中低档的服务区上
  • 易于继承第三方的服务
  • 每个微服务都有自己的存储能力。但这一点依赖你的需求, 微服务也可以使用同一的数据库如Mysql, Oracle

微服务的不足

  • 微服务可能带来过多的操作
  • 要求要有DevOps技能
  • 可能会有重复的工作
  • 分布式系统管理起来相对复杂
  • 由于分布式部署的问题分析问题比较困难
  • 当服务很多的时候管理整个系统就很麻烦

微服务适合什么样的需求?

当你需要支持跨屏的应用(比如桌面,web,手机,智能电视,可穿戴设备或者未来你不知道的情况)。
(译者按:微服务岂止这些?当你的应用规模急速扩大时,需要将已有的架构进行重构,减少系统组件的紧耦合,就可以考虑微服务的架构)

哪些公司使用了微服务的架构

很多规模很大的物联网公司都采用了微服务的架构,如Twitter, Netflix, Amazon, eBay, 国内的大型互联网公司如淘宝等,都从最初的铁板一块,组件都整体糅合在一起架构演化成微服务的架构。
(译者按:据公开的资料, 07年淘宝开始走向服务化)

微服务之间如何通信

如何实现依赖你的需求。一般开发人员会使用HTTP/REST + JSON或Protobuf,但是法无定式,有很多的选择。

为何现在人人都在谈论微服务?

SOA的概念都有15年了,随着RESTful的web服务的流行和更便利的JSON格式的广泛采用, 创建可以互相调用服务更加的容易和快捷。

微服务架构入门

: » 微服务架构入门

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/251484.html

(0)
上一篇 2022年5月3日
下一篇 2022年5月3日

相关推荐

发表回复

登录后才能评论