【好文】分布式的理解

1、概述

什么是分布式?

旨在支持应用程序和服务的开发,可以利用物理架构由多个自治的处理元素,不共享内存,但通过网络发送消息合作。

三特点:

多节点、消息通信、不共享内存

三概念:

分布式系统、集群、分布式计算

在传统的B/S 架构的系统里,技术架构往往是一个工程项目,各个逻辑分层都是该工程的业务逻辑模块,但是有些网站,如电商系统或全国性服务平台,用户群庞大,网站并发量高,且需求变化大,以及网站处于对安全的考虑,以上的逻辑分层在技术架构上的实现也会复杂的多。

那么考虑采用分布式架构,将系统拆分成多个子系统。

分布式系统定义: 
组件分布在网络计算机上 
组件之间仅仅通过消息传递来通信并协调行动

2、整体框架

这里写图片描述

我们这个项目叫staro2,主要分为以下5个模块: 
(1)staro2-manager——后台管理系统 
(2)staro2-portal——前台门户系统 
(3)staro2-rest——应用服务层 
(4)移动端——Android、iOS、微信平台 
(5)MySQL——数据库

下面介绍各个模块的功能与设计结构。

3、后台管理系统

传统的工程结构: 
这里写图片描述 
传统项目是一个项目,三层架构控制层、业务逻辑层和数据访问层。

考虑后期的可拓展性与并行开发,本文采用分散式的开发方式,采用maven管理项目。

后台管理系统的项目结构设计如下:

这里写图片描述

  • staro2-parent(pom工程) – 管理依赖jar包的版本,全局,公司级别,所有项目进行依赖.
  • staro2-common(jar包) – 通用组件,工具类,为工程提供通用功能.
  • staro2-manager(pom工程) – 聚合工程。包括staro2-pojo(jar包) 、staro2-mapper(jar包) 、staro2-service(jar包) 、staro2-pojo(jar包) 、staro2-controller(war包)工程。
  • staro2-pojo(jar包) – 实体类,封装简单的java对象。
  • staro2-mapper(jar包) – 持久化层。数据访问,本文采取mybatis框架。
  • staro2-service(jar包) – 业务逻辑层。
  • staro2-controller(war包) – 控制层和视图层。Spring、SpringMVC。

4、前台门户系统

staro2-portal前台门户系统主要包括控制层和视图层staro2-portal-controller和逻辑层staro2-portal-service。逻辑层调用应用服务层(staro2-rest)请求数据。

5、应用服务层

star-rest应用服务层对外提供rest形式的服务,供其他系统如web前端、android、iOS和微信公众号调用。使用http协议传递json数据。主要分为三层:数据访问层、业务逻辑层和控制层。

6、移动端

  • 移动端包括android系统和iOS系统。
  • android移动端采用MVP架构+RxJava+Retrofit。
  • iOS移动端采用MVVM(Model-View-ViewModel)编程模式架构。

7、MySQL

目前是单库多表设计,随着业务的增大,考虑分库分表如下。

这里写图片描述

转自: https://blog.csdn.net/ztchun/article/details/72803247

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值