Dubbo学习笔记 分布式理论及Dubbo
Posted Johnny*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo学习笔记 分布式理论及Dubbo相关的知识,希望对你有一定的参考价值。
分布式理论
什么是分布式系统
分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统。
分布系统(distributed system)是建立在网络之上的软件系统
应用架构的发展演变
单一应用架构
当网站流量 很小时,只需一个 应用,将所有功能都部署在一起 ,以减少部署节点和成本。此时用于简化增删改查工作量的数据访问框架是关键。
缺点:
- 不易于扩展,每次扩展新功能都需要将项目重新打包 成war包再重新部署到各个服务器上
- 随着功能的不断增,系统越显臃肿。
垂直应用架构
按功能将系统拆分成多个应用并分别部署到不同的服务器上。
缺点:
- 应用的用户界面和业务逻辑代码未分离,修改某个应用的非业务逻辑代码需要这个应用重新部署。
- 各个应用之间需要交互。
分布式服务架构
将用户界面与业务逻辑代码拆分,分别部署在不同的服务器上。
如何拆分业务模块、各个模块之间如何实现调用
解决方案
RPC
Remote Procedure Call ,远程过程调用一种技术思想。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不是程序员显示编码这个过程调用的细节。即程序眼无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。
本质过程是客户端和服务端建立起通讯连接,进行过程函数的调用和结果的返回。
调用详细过程:
一个RPC框架的性能好坏主要参考两点:
- 能否在通讯双方快速建立起连接,即通讯效率。
- RPC序列化与反序列化速度快与否,即序列化与反序列化效率。
Dubbo
Apache Dubbo 是一款高性能JAVA RPC框架
特性
设计架构
以上是关于Dubbo学习笔记 分布式理论及Dubbo的主要内容,如果未能解决你的问题,请参考以下文章
分布式服务的事务如何处理?比如dubbo,服务与服务之间的事务怎么处理比较好,现在有没有开源的解决方案?
《机器学习》(周志华)第4章 决策树 笔记 理论及实现——“西瓜树”