微服务如何部署?更新?扩容?

2回答

匿名用户匿名用户
微服务不等于容器,但上容器会更好的辅助微服务架构的落地,包括提到的三个问题:快速部署、快速回滚升级、快速扩容缩容等;也能更好的实现自动化测试、自动化运维等能力。显示全部

微服务不等于容器,但上容器会更好的辅助微服务架构的落地,包括提到的三个问题:快速部署、快速回滚升级、快速扩容缩容等;也能更好的实现自动化测试、自动化运维等能力。

收起
 2020-02-25
浏览391
zzhengleizzhenglei  技术经理 , 太平洋保险
1、一个新服务部署的流程前提:代码写好了,内网测试通过,准备上线;上线肯定需要一台服务器,所以要和运维交涉,哪台服务器比较空闲,可以把服务部署上去,或者说资源都比较吃紧的情况可能要等到新服务器上架之后才能开始部署。假如我们得到了一个比较合适的服务器,然后就是告诉运维把...显示全部

1、一个新服务部署的流程
前提:代码写好了,内网测试通过,准备上线;上线肯定需要一台服务器,所以要和运维交涉,哪台服务器比较空闲,可以把服务部署上去,或者说资源都比较吃紧的情况可能要等到新服务器上架之后才能开始部署。
假如我们得到了一个比较合适的服务器,然后就是告诉运维把我们的哪一个应用copy到服务器上,可能是通过Jenkins脚本或者其他自动化方式,如果是web服务,就需要再copy一个Tomcat,给我们的服务分配一个端口号,这个时候就要查询服务器占用的端口列表,找一个没有被占用的端口修改好,给域名做DNS解析,解析到对应的Nginx,在Nginx里配置好反向代理指向刚刚配置好的Tomcat,这样部署工作就完成了。

2、更新
在单实例的情况下做更新操作还是很容易的,替换一下旧代码,重启一下服务就OK了。但是现在稍微重要一点的服务就不可能是单实例的,至少是两个,需要高可用,这样我们在更新代码的时候就需要先下线一台服务器,然后把代码做好更新,然后重启验证没有问题之后再把它上线,同样上线完一个之后,需要把前一个下线,然后重复这样的过程。如果自动化机制做得不够好的话,这些过程都需要人来参与,更新和上线的成本是可想而知的。

3、扩容
扩容和部署的难度是差不多的,它得找到空闲的机器,它得copy程序、得copy Tomcat、得找到没被占用的端口号、得修改Nginx,这个过程还是比较复杂的,但是这个在我们的服务数量比较少,上线不太频繁的时候,运维人员还是可以接受的,但是到了微服务就没办法接受了,因为微服务的特征就是服务数量特多,更新上线非常频繁,微服务怎样解决服务发现、部署、更新以及扩充容的问题呢?这里就出了一个新名词——服务编排。
服务编排没有明确的定义,但是这个名词提出的意义就是简化服务发现、部署、更新以及扩缩容等一系列操作。如果一个框架或者一个平台说它自己具有服务编排的功能 或者说 解决了服务编排的问题,我们就能大概的了解到他有哪些功能了。

以下就是几个流行的服务编排工具:
● Mesos  —— Apache的
●Docker Swarm  —— Docker的
●Kubernetes  —— Google的  

收起
 2020-02-18
浏览466

提问者

sdsfan80技术支持, 中国电信集团系统集成有限责任公司

问题状态

  • 发布时间:2020-02-17
  • 关注会员:3 人
  • 问题浏览:1177
  • 最近回答:2020-02-25