微服务
Posted xzqpy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务相关的知识,希望对你有一定的参考价值。
业务之前采用了单体应用的架构 不同功能模块的代 码耦合在一起,编译打包部署也都在一起。
有的人忘记提交代码、有的人忘记打包、有的人忘记修改工程依赖到最新版本。一次上 线过程需要反复确认,耗费了大量精力,严重影响了整体的开发和部署效率。
最后选定了服务化的解决方案 对原有的单体应用架构进行改造,把功能相对独立的模块拆分出去,部署为微服务
当前移动互联网时代最先进的业务架 构解决方案,能更好地迎合移动互联网业务快速迭代的要求。
单体应用的痛
然而随着业务规模的不断扩大,团队开发人员的不断扩张,单体应用架构就会开始出现问 题。
部署效率低下
应用编译打包、部署测试一次,甚至需要 10 分钟以上
团队协作开发成本高
超过 5 人修改代码,然后一起打包部署,测试阶段只要有一块功能有问题,就得重 新编译打包部署,然后重新预览测试,所有相关的开发人员又都得参与其中,效率低下, 开发成本极高。
系统高可用性差
某段代码不断在内存中创建大对象,并且没 有回收,部署到线上运行一段时间后,就会造成 JVM 内存泄露,异常退出,那么部署在 同一个 JVM 进程中的所有服务都不可用,后果十分严重。
线上发布变慢
特别是对于 Java 应用来说,一旦代码膨胀,服务启动的时间就会变长, 有些甚至超过 10 分钟以上,如果机器规模超过 100 台以上,假设每次发布的步长为 10%,单次发布需要就需要 100 分钟之久。因此,急需一种方法能够将应用的不同模块 的解耦,降低开发和部署成本。
想要解决上面这些问题,服务化的思想也就应运而生。
以上是关于微服务的主要内容,如果未能解决你的问题,请参考以下文章