自訂服務呼叫中介軟體
1. 準備工作
- 已安裝 dubbo-go cli 工具和相關工具
- 閱讀 [元件載入和擴展性]
- 建立新的演示應用程式
2. 配置指定的過濾器
指定過濾器時,可以使用「,」分隔
消費者端
dubbo: consumer: filter: echo,token,tps,myCustomFilter # Custom filter can be specified
提供者端
dubbo: provider: services: GreeterProvider: filter: myCustomFilter, echo, tps
3. 自訂過濾器
使用者可以在程式碼中自訂過濾器,將其註冊到框架上,並選擇在配置中使用它。
func init() {
extension. SetFilter("myCustomFilter", NewMyClientFilter)
}
func NewMyClientFilter() filter. Filter {
return &MyClientFilter{}
}
type MyClientFilter struct {
}
func (f *MyClientFilter) Invoke(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
fmt.Println("MyClientFilter Invoke is called, method Name = ", invocation.MethodName())
return invoker. Invoke(ctx, invocation)
}
func (f *MyClientFilter) OnResponse(ctx context.Context, result protocol.Result, invoker protocol.Invoker, protocol protocol.Invocation) protocol.Result {
fmt.Println("MyClientFilter OnResponse is called")
return result
}
上次修改時間:2024 年 1 月 17 日:修復損壞的連結 (6651e217e73)