1.Dubboプロフィール:
1.Dubboで分散、高性能、RPCサービスフレーム透明度(RPC:リモートプロシージャコールプロトコル)
2.SOA:
1.英語名(サービス指向アーキテクチャ)
2.中国名:サービス指向アーキテクチャ
2.1特別なサービスユニットがあります。
2.2他のすべてのユニットは、このサービスを呼び出しています。
3.SOAポジショニング:
3.1どのように、より効率的な開発を行い、プロジェクトを設計します。
3.2 SOAはアイデアです
4.プロジェクトアーキテクチャの前に
4.1会社のすべての項目は、データベースプロジェクトにアクセスすることを許可されていません。
4.2開発、データベースアクセス層のコードが冗長表示される場合があります
5. SOAアーキテクチャ
データベースサービス(プロジェクト)に5.1特別なアクセス。
5.2は、開発、データ・アクセス・コントロールとコードの再利用を実現することができます。
6. SOAアーキテクチャを実装し、共通サービス。
サービスとして6.1ダボ。
サービスとして6.2 Webサービス。
サービスとして6.3 Dubbox。
6.4は、Webサービスのサイドプロジェクト、呼制御Webプロジェクトです。
6.4.1使用のHttpClientコントローラは、他のプロジェクトを呼び出すことができます。
3 RPC:ネットワークを介してリモートコンピュータからのサービス要求の一種で、基盤となるネットワークプロトコル技術を理解することなく、
1.英語名(リモートプロシージャコールプロトコル)
2.中国名:リモートプロシージャコールプロトコル
3. RPC分析:インターネット経由でリモートサーバーへのクライアント(A)の呼び出し、リモートサーバーの特定の実装を知らない、リモートサーバーはどのような機能を知っています。
4. RPC 最大优点:
4.1 数据安全性.
2.Dubbo的作用:三大核心能力:
1.面向接口的远程方法调用
2.智能容错和负载均衡
3.服务自动注册和发现
3.Dubbo架构图:
1.Provider:提供者,服务的发布方
2.Container:Dubbo容器,依赖于Spring容器
3.Consumer:消费者,调用服务方
4.Registry:注册中心,当Container(容器)启动时,将所有可以提供的服务列表上Registry中进行注册
4.1 作用:告诉Consumer提供了哪些服务,服务方在哪里
5.Monitor:监听器
6.深蓝色虚线:在启动时完成的功能
7.浅蓝色虚线与实线:在程序运行过程中执行的功能
8.虚线代表异步访问,实线代表同步访问
注意:图中可知只有服务调用时才是同步访问,同时也是最耗时的地方,必须是同步
9.所有的角色都可以在单独的服务器上,所以必须遵守特定的协议
4.Dubbo的运行原理:
英文单词:
start:开始
register:注册
subscribe:订阅
notify:告知
invoke:调用
count:统计
4.0 启动容器,相当于在启动Dubbo的Provider
4.1 启动后会去注册中心进行服务注册,注册所有可以提供的服务
4.2 在Consumer启动后会Registry获取获取服务列表和Provider的地址,进行订阅
4.3 当Provider有修改后,注册中心会把消息推送给Consumer
4.3.1 此处使用了观察者设计模式(又叫 发布/订阅模式)
4.4 Consumer根据获取到的Provider地址,真实调用Provider的功能
4.4.1 在Consumer方使用了代理设计模式,创建一个Provider方类的一个代理对象,通过代理对象获取Provider中的真实功能,作用是保护了Provider方的真实功能
4.5 Consumer和Provider 每隔一定的时间向Monitor发送统计信息,统计信息包含,访问系数,频率等
5.Dubbo支持的注册中心
1. Zookeeper(推荐)
1.1 优点:支持网络集群
1.2 缺点:稳定性受限于 Zookeeper
2. Redis
2.1 优点:性能高.
2.2 缺点:对服务器环境要求较高.
3. Multicast
3.1 优点:面中心化,不需要额外安装软件.
3.2 缺点:建议同机房(局域网)内使用
4. Simple
4.1 适用于测试环境.不支持集群
6.Zookeeper 简介
1. Zookeeper 分布式协调组件.
1.1 本质一个软件.辅助分布式的搭建和管理
2. Zookeeper 常用功能
2.1 发布订阅功能 .把 zookeeper 当作注册中心原因.
2.2 分布式/集群管理功能.
2.3 分布式锁
3. 使用 java 语言编写的.