Pain points of microservice 微服务的痛点

The rapid growth of the business eventually put the application under pressure.
Odd stability issues and performance issues surfaced. New application releases started breaking the working code. Moreover, the cost of change and the speed of delivery started impacting the business operations profoundly.
An end-to-end architecture review was ordered, and it exposed the weaknesses of the system as well as the root causes of many failures, which were as follows:
Stability: The stability issues are primarily due to stuck threads, which limit the application server's capability to accept more transactions. The stuck threads are mainly due to database table locks. Memory issues are another contributor to the stability issues. There were also issues in certain resource intensive operations that were impacting the whole application.
Outages: The outage window increased largely because of the increase in server startup time. The root cause of this issue boiled down to the large size of the EAR. Message pile up during any outage windows causes heavy usage of the application immediately after an outage window. Since everything is packaged in a single EAR, any small application code change resulted in full redeployment. The complexity of the zero downtime deployment model described earlier, together with the server startup times increased both the number of outages and their duration.
Agility: The complexity of the code also increased considerably over time, partially due to the lack of discipline in implementing the changes. As a result, changes became harder to implement. Also, the impact analysis became too complex to perform. As a result, inaccurate impact analysis often led to fixes that broke the working code. The application build time went up severely, from a few minutes to hours, causing unacceptable drops in development productivity. The increase in build time also led to difficulty in build automation, and eventually stopped continuous integration (CI) and unit testing.

业务的快速增长最终使应用程序面临压力。
奇怪的稳定性问题和性能问题浮出水面。新的应用程序版本开始破坏工作代码。此外,变更成本和交付速度开始深刻影响业务运营。
订购了端到端的架构审查,它暴露了系统的弱点以及许多故障的根本原因,如下所示:
稳定性:稳定性问题主要是由于线程卡住,这限制了应用服务器接受更多事务的能力。卡住的线程主要是由于数据库表锁。内存问题是稳定性问题的另一个原因。某些资源密集型操作中也存在影响整个应用程序的问题。
中断:由于服务器启动时间的增加,中断窗口大幅增加。这个问题的根本原因归结为EAR的大规模。在任何中断窗口期间消息堆积导致在中断窗口之后立即大量使用应用程序。由于所有内容都打包在一个EAR中,因此任何小的应用程序代码更改都会导致完全重新部署。前面描述的零停机部署模型的复杂性以及服务器启动时间增加了中断次数和持续时间。
敏捷性:代码的复杂性也随着时间的推移而显着增加,部分原因是实施变更缺乏纪律。结果,变更变得更难实施。此外,影响分析变得过于复杂而无法执行。因此,不准确的影响分析通常会导致修复程序破坏工作代码。应用程序构建时间严重上升,从几分钟到几小时,导致开发生产力下降不可接受。构建时间的增加也导致构建自动化的困难,并最终停止了持续集成(CI)和单元测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值