Business is not closed: a new method to solve the pain points of software system upgrades

In the digital age, with the continuous improvement of user requirements for product performance and functions, application service upgrades have become one of the keys for enterprises to maintain competitiveness. However, traditional application service upgrades often bring unnecessary interruptions and inconveniences to users. This "wounding" upgrade method can no longer meet the growing needs of users. How to achieve non-perception upgrades has become a challenge for many enterprises. Problems that need to be solved urgently.

Taking an enterprise data center and business collaboration project as an example, in the process of the project, a converged deployment architecture with Merrill Lynch gateway as the entrance and multi-vendor business systems was formed, in which Merrill Lynch micro-service applications were used as basic services to support other vendors System business.
insert image description here
When you need to upgrade the services in the system, you will always face headaches:

▶ Affect the normal operation of the business: The service needs to be suspended when the service is upgraded, resulting in the interruption of the user's business functions. In complex patch upgrade scenarios, the downtime may even last for a whole day. If there is a problem with the new version of the service, the service still needs to be suspended during the version rollback process, and the time will be longer, which will seriously affect the development of the business.

▶ Increased release risk: After the service is upgraded, users will access the new version of the service. Due to possible unknown problems in new functions, the release risk is increased and may affect the stability and reliability of the entire system.

So, how can we ensure that the user experience is not affected when the service is upgraded?

Part 1 solution

In order to solve the business pain points in the traditional upgrade process, Merrill Lynch's data technology expert team provided a set of solutions based on gateway services and Nacos-based application service upgrades without perception.
insert image description here

  • Deploy two Nginx service nodes, and ensure high availability of Nginx services through the front load F5 proxy. Deploy two sets of basic service nodes (gateway service, system management, process engine, timing scheduling, etc.), and the basic services on server A and server B are exactly the same.
  • Middleware such as databases, Nacos, and caches are all deployed in clusters, and the basic service nodes are connected to the same set of middleware.
  • Downstream application services are based on basic services to implement specific services, other downstream manufacturers' products and second-generation services developed by customers. These services require at least two nodes deployed, which can be different versions of the application.

The system deployed according to this deployment scheme meets high availability and supports non-perceived upgrades of basic services and application services.

1. Basic service upgrade

Basic service upgrades are implemented based on the traffic switching of the pre-load balancer. The gateway service restricts user requests from being distributed to local applications first, that is, requests are preferentially forwarded to basic services such as system management and timing scheduling on server A through the gateway service on server A.

Before upgrading, it is necessary to ensure that the applications of server A and server B are consistent, including service version and service configuration. Take server B as an example to demonstrate the upgrade process of the non-aware solution. The upgrade process is as follows:
insert image description here
2. Application service upgrade

Merrill Lynch's technical expert team has realized non-perceptual upgrade of downstream business system application services through version control technology. Before deploying the service, tag each service with a version number. The user configures the conditions for accessing different versions of the service, and the gateway service will implement access to the business application service of the specified version according to the request information and user configuration.

Taking the IP access based on the client as an example, the upgrade process of the business system product service is demonstrated:
insert image description here

PART 2 program value

1) Improve delivery efficiency: The upgrade service can be performed during the day without downtime for upgrades, and user business will not be interrupted, which can save at least 50% of the upgrade time.

2) Reduce the risk of upgrading: the risk can be effectively reduced through access control technology. If there is a problem or error in the new version, it will only affect some users, not the entire user group. The team can quickly roll back or fix the problem when it occurs, reducing potential negative impact.

3) Improve system availability: For a system deployed with this solution, if a service node is down during operation, it can be quickly switched to other available nodes to ensure normal business, and some users can be controlled to access the new version of the service during the upgrade process, which is convenient Conducting functional testing, performance testing, and load testing can ensure that the new version can run stably in the production environment, reducing potential problems and errors.

Small T summary

"Application service non-aware upgrade solution" can be applied to scenarios such as continuous upgrade of large-scale distributed application services, seamless upgrade of enterprise-level applications, and uninterrupted update of online services. It can not only meet users' expectations for zero interruption and improve user experience, but also ensure system reliability and reduce the impact on business during the upgrade process, thus promoting the development of enterprises.

Guess you like

Origin blog.csdn.net/qq_42963448/article/details/131938381