Springbootシリーズのdubbo
2976 ワード
Springbootシリーズのdubbo
dubboの概要
Apache Dubbo™ 高性能Java RPCフレームワークです.(1)インタフェースエージェント向け高性能RPC呼び出し 高性能のエージェントベースのリモートコール能力を提供し、サービスはインタフェースを粒度とし、開発者のためにリモートコールの最下位の詳細を遮断します.(2)知能負荷等化 多種の負荷均衡戦略を内蔵し、下流ノードの健康状況を知能的に感知し、呼び出しの遅延を著しく減少させ、システムのスループットを高める.(3)サービス自動登録と発見 複数の登録センターサービスをサポートし、サービスインスタンスの上下線をリアルタイムで感知します.(4)高度な拡張性 マイクロカーネル+プラグインの設計原則に従い、Protocol、Transport、Serializationなどのすべてのコア能力を拡張点として設計し、内蔵実装とサードパーティ実装を平等に扱う.(5)運転期間フロースケジューリング 条件、スクリプトなどのルーティングポリシーを内蔵し、異なるルーティングルールを構成することで、階調パブリケーション、同機械室優先などの機能を簡単に実現します.(6)可視化されたサービスガバナンスと運行メンテナンス 豊富なサービスガバナンス、メンテナンスツールを提供します:いつでもサービスメタデータ、サービス健康状態と呼び出し統計を照会し、リアルタイムでルーティングポリシーを送信し、構成パラメータを調整します.
dubbo使用(dubbo直結方式を使用)
1、springbootプロジェクトの名前を作成する:dubbo-service 2、dubbo依存を追加する
3、dubboプロバイダクラスUser、UserInfoService、UserInfoServiceImplの作成
4、dubbo消費者類DubboControllerの作成
5、アプリケーション.propertiesプロファイルの変更
6、サービスを起動し、アクセスアドレスhttp://localhost:8080/userInfoテストに成功した.
質問があります.伝言をお願いします.個人ブログアドレス
dubboの概要
Apache Dubbo™ 高性能Java RPCフレームワークです.(1)インタフェースエージェント向け高性能RPC呼び出し 高性能のエージェントベースのリモートコール能力を提供し、サービスはインタフェースを粒度とし、開発者のためにリモートコールの最下位の詳細を遮断します.(2)知能負荷等化 多種の負荷均衡戦略を内蔵し、下流ノードの健康状況を知能的に感知し、呼び出しの遅延を著しく減少させ、システムのスループットを高める.(3)サービス自動登録と発見 複数の登録センターサービスをサポートし、サービスインスタンスの上下線をリアルタイムで感知します.(4)高度な拡張性 マイクロカーネル+プラグインの設計原則に従い、Protocol、Transport、Serializationなどのすべてのコア能力を拡張点として設計し、内蔵実装とサードパーティ実装を平等に扱う.(5)運転期間フロースケジューリング 条件、スクリプトなどのルーティングポリシーを内蔵し、異なるルーティングルールを構成することで、階調パブリケーション、同機械室優先などの機能を簡単に実現します.(6)可視化されたサービスガバナンスと運行メンテナンス 豊富なサービスガバナンス、メンテナンスツールを提供します:いつでもサービスメタデータ、サービス健康状態と呼び出し統計を照会し、リアルタイムでルーティングポリシーを送信し、構成パラメータを調整します.
dubbo使用(dubbo直結方式を使用)
1、springbootプロジェクトの名前を作成する:dubbo-service 2、dubbo依存を追加する
org.apache.dubbo
dubbo-spring-boot-starter
2.7.7
3、dubboプロバイダクラスUser、UserInfoService、UserInfoServiceImplの作成
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Long id;
private String userName;
private String password;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
}
public interface UserInfoService {
/**
*
*
* @return
*/
User getUserInfo();
}
@Component
@Service(version = "1.0.0", timeout = 10000, interfaceClass = UserInfoService.class)
public class UserInfoServiceImpl implements UserInfoService {
@Override
public User getUserInfo() {
return User.builder().userName("name").password(UUID.randomUUID().toString().replaceAll("-", ""))
.createTime(LocalDateTime.now()).build();
}
}
4、dubbo消費者類DubboControllerの作成
@RestController
public class DubboController {
@Reference(version = "1.0.0", url = "dubbo://127.0.0.1:12345")
private UserInfoService userInfoService;
@RequestMapping("userInfo")
public User userInfo(){
return userInfoService.getUserInfo();
}
}
5、アプリケーション.propertiesプロファイルの変更
spring.application.name=dubbo-service
dubbo.scan.base-packages=com.wotrd.dubboprovider.service
# Dubbo Protocol
dubbo.protocol.name=dubbo
dubbo.protocol.port=12345
## Dubbo Registry
dubbo.registry.address=N/A
6、サービスを起動し、アクセスアドレスhttp://localhost:8080/userInfoテストに成功した.
{"id":null,"userName":"name","password":"487e5550715b44c3ab1e2a90cacc5d25","createTime":"2020-06-21 23:10:44"}
質問があります.伝言をお願いします.個人ブログアドレス