分布式思想

1、单体架构设计存在的问题

传统项目采用单体架构设计,虽然可以在一定的程度上解决企业问题,但是如果功能模块众多,并且将来需要二次开发.由于模块都是部署到同一台tomcat服务器中,如果其中某个模块代码出现了问题,将直接影响整个tomcat服务器运行.

这样的设计耦合性太高.不便于开发和维护.

2、分布式思想(拆)

2.1 分布式计算

说明: 如果某个业务需要处理1000G的数据 如果通过一个线程.该工作几乎不可能完成...

优化方式: 同时开启多个线程 一起执行任务的计算. 理论上来说运行的速度大幅度提升.

难点: 数据如何拆分/数据如何合并

计算方式: 大数据应用.

2.2 分布式系统

说明: 分布式系统指按照某种规则,将项目按照规则进行拆分.从架构上降低了系统的耦合性.提高软件的扩展性.

2.2.1 按照模块拆分

说明:按照特定的业务规则,将项目进行拆分.

2.2.2 按照层级拆分

说明: 由于某个项目比较复杂.需要多个开发人员相互配合.这时为了提高开发的效率.采用层级拆分的方式进行.

2.3分布式系统设计问题说明

铺垫: maven项目打包方式: 1.jar包(默认值) 2.war包 3.pom(聚合工程)

1).由于项目众多 如何统一的管理?

答案: 采用聚合工程的方式统一管理项目 打包方式 POM

2).项目多了之后,如何保证jar包版本的稳定?

答案: 采用统一的方式管理jar包文件 通过父级工程定义父级jar包.之后子级项目继承父级即可.

3).工具API如何做到统一的管理?

答案: 定义核心工具API工程. 架构师/高级程序员统一维护API项目. 之后API项目被其他的项目进行依赖.

2.4关于分布式系统父子级关系说明

说明: 如果搭建了父级工程 则可以通过父级检查所有的关联项目

相关推荐
无心水5 小时前
【分布式利器:Kafka】1、Kafka 入门:Broker、Topic、分区 3 张图讲透(附实操命令)
分布式·kafka·topic·isr·broker·分区·生产者消费者模式java实现
九皇叔叔5 小时前
Zookeeper 基础入门与应用场景解析
分布式·zookeeper·云原生
一只小青团6 小时前
Hadoop之HDFS
大数据·hadoop·分布式
西岭千秋雪_7 小时前
Kafka安装和使用
java·分布式·kafka·java-zookeeper
qq_281317478 小时前
Kafka
分布式·kafka
Lansonli11 小时前
大数据Spark(七十三):Transformation转换算子glom和foldByKey使用案例
大数据·分布式·spark
明达智控技术14 小时前
MR30分布式I/O模块服务换热站项目,守护万家温暖
分布式·物联网·自动化
武子康14 小时前
Java-174 FastFDS 从单机到分布式文件存储:实战与架构取舍
java·大数据·分布式·性能优化·系统架构·dfs·fastdfs
失散1314 小时前
分布式专题——56 微服务日志采集与分析系统实战
java·分布式·微服务·架构
失散1314 小时前
分布式专题——57 如何保证MySQL数据库到ES的数据一致性
java·数据库·分布式·mysql·elasticsearch·架构