small-rpc 框架(六)-服务端服务发布

small-rpc 框架(六)-服务端服务发布

public class ProviderServer {


    public static void main(String[] args) {
        //注册中心
        ServiceRegistry serviceDiscovery = new ZkServiceDiscovery("192.17.x.x:2181");
        //服务注册
        //server配置
        ServerConfig serverConfig =
                ServerConfig.builder().appName("mic-hello")
                        .host(NetUtil.getLocalhostStr())
                        .port(9999)
                        .build();
        NettyRpcServer server = new NettyRpcServer(serverConfig,serviceDiscovery);
        //具体服务
        HelloService helloService = new HelloServiceProvider();
        //服务注册
        server.registerService(helloService);
        //server启动
        server.start();
    }
}

服务器服务发布流程,主要在 registerService 进行注册

public void registerService(Object handler) {
    //接口类名
    serviceProviderRegistry.addService(handler.getClass().getInterfaces()[0].getCanonicalName(), handler);
}

委托给 ServiceProviderRegistry

ServiceProviderRegistry

public interface ServiceProviderRegistry {


    /**
     * 服务注册
     * @param interfaces: 接口完整类名,如 com.xx.HelloService
     * @param handler: bean instance
     */
    void addService(String interfaces,Object handler);

    /**
     * 获取 beanName获取
     * @param interfaces: 接口完整类名,如 com.xx.HelloService
     * @return
     */
    Object getService(String interfaces);



}

public class DefaultServiceProviderRegistry implements ServiceProviderRegistry {
    // classFullName,Object
    private Map<String, Object> map = new ConcurrentHashMap<>();

    @Override
    public void addService(String interfaces, Object handler) {
        if (!map.containsKey(interfaces)) {
            map.put(interfaces, handler);
        }
    }

    @Override
    public Object getService(String interfaces) {
        return map.get(interfaces);
    }

}

ServerConfig

@Data
@Builder
public class ServerConfig {
    private String host;
    private int port;
    //服务名称
    private String appName;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vosk-model-small-cn-0.22是一种基于语音识别技术的模型,主要用于将人类语音转换为可操作的文本形式。其名称中的“vosk-model”代表它是一种基于Vosk平台构建的模型,而“small-cn-0.22”则代表它是一个较小的中文模型,其版本号为0.22。 该模型的应用领域非常广泛,它可以用于在智能家居、智能语音助手、语音翻译等领域实现人机交互。该模型通过将输入的语音信号分解成一系列语音片段,并利用先进的机器学习算法对这些片段进行分析,从而识别出相应的语音内容。 相比于传统的语音识别技术,vosk-model-small-cn-0.22具有许多优势。首先,它具有较高的准确率和实时性,可以在很短的时间内完成语音识别任务,并且准确性也很高。其次,该模型的体积较小,所需的计算资源也相对较少,这对于一些硬件条件较为有限的设备来说尤其重要。 总之,vosk-model-small-cn-0.22是一种具有广泛应用前景的语音识别模型,它能够广泛应用于人机交互、智能家居、智能语音助手等领域,为构建更加智能化的生活提供了有力的支持。 ### 回答2: vosk-model-small-cn-0.22是一个语音识别模型,采用轻量级的卷积神经网络和CTC(Connectionist Temporal Classification)算法。该模型主要用于汉语普通话的语音识别任务,可以较为准确地将语音信号转化为文字。 vosk-model-small-cn-0.22具有如下特点: 1. 小巧精简:该模型大小只有100MB左右,相比其他语音识别模型更加轻量化,占用资源少。 2. 兼容性强:该模型可以在各种移动端硬件上运行,可移植性强。 3. 语音识别效果良好:该模型训练数据覆盖面广泛,已经经过大量训练和优化,并且在多个语音识别测试基准上表现优异。 4. 开放源代码:该模型采用开源方式发布,任何人都可以从GitHub上下载并使用。 总之,vosk-model-small-cn-0.22是一款非常出色的语音识别模型,对于需要将语音信号转换为文字的应用场景具有很大的帮助。 ### 回答3: vosk-model-small-cn-0.22是一个用于语音识别的中文模型。它是由Vosk团队开发的一种基于深度学习技术的语音识别模型,可以识别中文语音并将其转换为文本数据。该模型训练数据包含了多种发音和语言习惯,使得它可以适应多种方言和口音。因此,该语音识别模型不仅能够应用于标准普通话,还可以适应其他方言和口音的语音,使得语音识别的效果更加准确和高效。此外,vosk-model-small-cn-0.22模型不需要互联网的连接,可以脱机进行语音识别,具有较高的安全性和隐私保护能力。该模型在语音识别效果和资源消耗方面均呈现出优秀的表现,因此,它在许多领域,如智能家居、语音助手、语音搜索等方面都有广泛的应用。总之,vosk-model-small-cn-0.22是一种功能强大且可靠的中文语音识别模型,将对我们的语音识别技术和应用产生积极的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值