微服务

Posted xzqpy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务相关的知识,希望对你有一定的参考价值。

业务之前采用了单体应用的架构 不同功能模块的代 码耦合在一起,编译打包部署也都在一起。
有的人忘记提交代码、有的人忘记打包、有的人忘记修改工程依赖到最新版本。一次上 线过程需要反复确认,耗费了大量精力,严重影响了整体的开发和部署效率。
最后选定了服务化的解决方案 对原有的单体应用架构进行改造,把功能相对独立的模块拆分出去,部署为微服务
当前移动互联网时代最先进的业务架 构解决方案,能更好地迎合移动互联网业务快速迭代的要求。


单体应用的痛

然而随着业务规模的不断扩大,团队开发人员的不断扩张,单体应用架构就会开始出现问 题。

部署效率低下

应用编译打包、部署测试一次,甚至需要 10 分钟以上

团队协作开发成本高

超过 5 人修改代码,然后一起打包部署,测试阶段只要有一块功能有问题,就得重 新编译打包部署,然后重新预览测试,所有相关的开发人员又都得参与其中,效率低下, 开发成本极高。

系统高可用性差

某段代码不断在内存中创建大对象,并且没 有回收,部署到线上运行一段时间后,就会造成 JVM 内存泄露,异常退出,那么部署在 同一个 JVM 进程中的所有服务都不可用,后果十分严重。

线上发布变慢

特别是对于 Java 应用来说,一旦代码膨胀,服务启动的时间就会变长, 有些甚至超过 10 分钟以上,如果机器规模超过 100 台以上,假设每次发布的步长为 10%,单次发布需要就需要 100 分钟之久。因此,急需一种方法能够将应用的不同模块 的解耦,降低开发和部署成本。

想要解决上面这些问题,服务化的思想也就应运而生。

以上是关于微服务的主要内容,如果未能解决你的问题,请参考以下文章

微服务入门|微服务架构怎么设计

微服务架构总览

Chris Richardson微服务翻译:构建微服务之微服务架构的进程通讯

微服务架构是啥

微服务架构是啥?

什么是 微服务