查看其它 1 个回答zzhenglei的回答

zzhengleizzhenglei技术经理某保险

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
浏览3349

回答者

zzhenglei
技术经理某保险
擅长领域: 云计算容器一体化运维

zzhenglei 最近回答过的问题

回答状态

  • 发布时间:2020-02-18
  • 关注会员:4 人
  • 回答浏览:3349
  • X社区推广