Dubbo-go 源码笔记Server 端开启服务过程
package main
import (
"fmt"
"github.com/apache/dubbo-go/common/logger"
"github.com/apache/dubbo-go/config"
_ "github.com/apache/dubbo-go/protocol/dubbo"
_ "github.com/apache/dubbo-go/registry/zookeeper"
)
func main() {
// 初始化配置
config.SetConsumerService(UserProvider)
// 执行启动,启动服务
hessian.RegisterPOJO(&User{})
initSignal()
}
type User struct {
Name string
Age int
}
func (u *User) JavaClassName() string {
return "com.test.User"
}
// 用户服务接口
type UserProvider struct {
GetUserFunction func(req []interface{}) (*User, error)
}
func (u UserProvider) Reference() string {
return "UserProvider"
}
func init() {
logger.SetLoggerLevel("info")
}
这个代码示例展示了如何在Dubbo-go中定义和启动一个服务提供者。它首先设置了消费者服务配置,然后使用Hessian包注册POJO类,最后初始化信号处理,以便优雅地关闭服务。这个过程是学习Dubbo-go开发的一个很好的起点。
评论已关闭