尚筹网-10.架构介绍

1 项目架构

1.1 单一架构

  • 描述:一个项目整体只有一个工程。
  • 其他名称:all in one或“单机版”

1.2 分布式架构

1.2.1 伪分布式

开发时使用了多个工程,但在服务器上运行时只有一个war包。

1.2.2 真正分布式

2 方法本地调用和远程调用

2.1 本地调用

调用当前项目内部的方法,调用过程没有经过网络。

2.2 远程调用

通过网络调用另外一个工程里的另一个方法。

2.3 实现方法远程调用的技术

2.3.1 WebService

WebService不是一个具体的技术,而是一系列方法远程调用技术的统称。

2.3.2 Dubbo+Zookeeper

Dubbo是阿里开发的一款RPC框架——底层基于RPC(远程过程调用)的方法远程调用和服务治理框架。

Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并推荐使用。

在分布式架构体系中Dubbo扮演了服务治理框架的角色,Zookeeper扮演了服务注册中心的角色。

2.3.3 SpringBoot+SpringCloud

2.4 方法远程调用的意义

2.4.1 对项目内部来说

让我们能够实现分布式架构。

2.4.2 对项目外部来说

让我们能够调用外部的第三方接口。

3 分布式架构的优缺点

3.1 优点

3.1.1 模块化、组件化程度更高

让项目更容易开发、维护和分工。也是高内聚、低耦合的一种体现。

3.1.2 提升性能

需要用到分布式架构的项目往往是访问量很大的互联网项目。

  • 集群[同构]:多个服务器上运行相同的模块
  • 分布式[异构]:多个服务器上运行不同的模块

3.2 缺点

相对于单一架构结构更复杂,部署更复杂,同时存在数据不一致问题,需要通过分布式事务解决。

4 服务

4.1 接口

对外暴露具体功能的接口已经包括了外部调用时所需要的全部信息,所以这个接口就成了整个功能的代表。

所以在团队交流时就使用接口指代整个工程。

  • “写接口”:开发接口代表的工程。
  • “调接口”:调用接口代表的工程。

4.2 服务

和操作系统提供的“守护进程”形式服务很像,它持续在运行,随时可以响应请求——提供服务。

4.3 SOA

Service Oriented Architecture

面向服务的架构。

底层基于“服务”之间的调用设计项目架构。把相同功能封装到一个或一组服务中。

4.4 微服务

服务的“微小化”

5 中间件

5.1 传统开发的组件

5.2 中间件

6 由浅入深了解/介绍分布式系统

6.1 分布式架构实现技术

  • Dubbo+Zookeeper
  • SpringBoot+SpringCloud

6.2 工程

  • 工程清单
  • 工程之间关系
    • 继承
    • 聚合
    • 依赖
  • 工程的作用

6.3 中间件

  • 用到了哪些中间件
  • 具体中间件和哪些功能相关

6.4 一个请求处理流程

浏览器→consumer→provider→中间件/provider→返回值

6.5 业务功能

子系统→模块→子模块→类→……

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容