当前位置:网站首页>Transformation of traditional projects
Transformation of traditional projects
2022-07-30 03:32:00 【Leon_Jinhai_Sun】
To talk about the hottest topic in recent years, it has to be microservices, so what are microservices?
We can start from the evolution of technology. After we learn JavaWeb, the general website development model is Servlet+JSP, but in fact, after we learn SSM, we will find this modelIt is already far behind. First, it is impossible for a company to recruit so many developers who can know both front-end and back-end at the same time. Even if they are recruited, it does not necessarily guarantee that they are good at both aspects. Compared with the front-end and back-end learning separatelyDevelopers, obviously the latter is less expensive to learn and more focused.Therefore, the separation of front and back ends has become a new trend.By using SpringBoot, we can develop a high-performance single application almost very quickly. We only need to start a server, and our entire project will start running. The functions are integrated and development is easier.
But as our project continues to expand, the monolith seems to be a bit sluggish.
As more and more functions are added to a SpringBoot project, and as the number of interfaces increases, the entire system must respond to more types of requests at the same time. Obviously, thisIt is impossible to use the extension method indefinitely. One day, this SpringBoot project will be so large that it runs slowly.And if all functions are integrated on a single end, all requests will be brought together on one server, which will cause huge pressure on this server.
You can imagine, if our computer has been upgraded to i9-12900K, but it is still slow when running the project and cannot respond to thousands of requests at the same time, then this problem is no longer simple.Upgrading the machine configuration can solve it.

As the scale of the project expands, the traditional monolithic architecture application will actually expose more and more problems, especially a server cannot withstand the deployment of a huge monolithic application, and theMaintenance will also become more and more difficult, and we have to find a new development architecture to solve these problems.
In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These servicesare built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
Martin Fowler proposed the "microservice" architecture in 2014, which is a new architectural style.
- Microservices split a huge single application into small services. For example, in our original book management project, there are functions such as login, registration, add, delete, and search, then weThese functions can be individually made into small SpringBoot projects and run independently.
- Each small microservice can be deployed and upgraded independently, so that even if the entire system crashes, it will only affect the operation of one service.
- Using HTTP for data interaction between microservices is no longer an internal interaction within a single application. Although this will be more troublesome, the benefits are also very direct, and can even break through language restrictions, using different programming languages for microservice development, you only need to use HTTP for data interaction.
- We can purchase multiple hosts at the same time to deploy these microservices separately, so that the pressure of a single machine is distributed to multiple machines, and the configuration of each machine does not necessarily need to be too high, so that we canSave a lot of costs, while security is also greatly guaranteed.
- Even the same microservice can exist at the same time, so that when one of the servers fails, other servers are running the same microservice, so that the high availability of a microservice can be guaranteed.

Of course, here is just a simple demonstration of the microservice architecture, which is definitely much more complicated in actual development.
It can be seen that the adoption of the micro-service architecture is better able to cope with the various tests in the current era. The development mode of traditional projects needs to be upgraded in architecture.
边栏推荐
- (六)《数电》——二极管与CMOS门电路(入门)
- Open address method hash implementation - linear detection method
- 护网行动基本介绍
- Three years of experience will only be a little bit (functional testing), and you may not even be able to find a job after resigning.
- JUC(六):synchronized
- Hyperchain超块链创始人史兴国接受21世纪经济报道采访,解读上海NFT新规及数藏发展
- The relationship between the number of Oracle processes and the number of sessions
- Testers, what else do you need to know besides testing?
- Ansible简介(详细)特性+优点+设计理念+应用领域+系统架构+工作原理+任务执行流程
- WPF递归获取窗体中指定控件类型列表
猜你喜欢

【Flink】从开发到生产上线,如何确定集群规划大小 ?

Nacos集群分区

nSoftware.PowerShell.Server.2020

监控页面部署

Drools(7):WorkBench

Three years of experience will only be a little bit (functional testing), and you may not even be able to find a job after resigning.

Nacos service registration and discovery

基于全志D1-H和XR806的名贵植物监控装置

Awesome, Tencent technical experts handed Redis technical notes, and the download volume has exceeded 30W

Open address method hash implementation - linear detection method
随机推荐
【科研工具的使用】A
Stimulsoft ReportsJS and DashboardsJS. 2022.3.3
Record NLP various resource URLs
WPF递归获取窗体中指定控件类型列表
Are you still using the command line to read logs?Quickly use Kibana, visual log analysis YYDS
【JS】iframe 嵌入页面用法
请问下,datax同步到oceanbase数据库时,按照主键更新方式写入,下拉框里的内容要如何填写?
【无标题】
web初识
Nacos配置中心
Overview of Federated Learning (2) - Classification, Framework and Future Research Directions of Federated Learning
JUC (six): synchronized
最重要的传输层
SQLSERVER将子查询数据合并拼接成一个字段
分类之决策树分类
【C补充】整数与字符串的转换
NLP Natural Language Processing (2)
OPENSQL
计划处理链的很多种情况
JUC(四):简记线程的五/六种状态