随着业务越拆越小,而且各个应用又是独立部署和维护的,这样的架构存在以下问题:
1,数据库连接数的问题,如果各个应用都连接现有数据库,当使用集群和并发访问量大的情形下,就会导致数据库连接数超过限制。当然,如果各个应用都有自己的数据库,则不存在这个问题。
2,代码复用的问题,有些基础信息在各个应用中都存在,比如用户信息,这样就造成代码的重复和变成难以维护。
服务化
服务化就是把每个应用都需要执行的业务操作,比如员工信息和客户信息,提供出来,然后独立部署和维护,由这些可复用的业务连接数据库,提供共用业务服务(api接口),而应用系统只需要管理用户界面,通过远程服务调用完成具体业务操作。架构如下图:
总结:
1,服务化解决了业务拆分后的代码复用问题和数据库连接问题,同时也衍生出来一个问题:原来业务之间的调用是单机内部的方法调用,现在变成了远程的服务调用,即通常的RPC,如果使用了分布式服务,还要考虑引入服务框架中间件。
2,如果在服务实现了分布式的情形下,单纯解决服务路由的问题,可以在服务层前面使用负载均衡服务器来解决。
3,关于微服务的架构,还需要后面的理论加实践中慢慢总结。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2014-07-25 用于主题检测的临时日志(452a49c2-4455-430f-a1cc-bbcd2d1944dd - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
2014-07-25 UNION并集运算