zoukankan      html  css  js  c++  java
  • hello world .net core 微服务框架 Viper

    1、Viper是什么?

      Viper 是.NET平台下的Anno微服务框架的一个示例项目。入门简单安全稳定高可用全平台可监控。底层通讯可以随意切换thrift grpc 自带服务发现、调用链追踪、Cron 调度、限流、事件总线、CQRS 、DDD、类似MVC的开发体验,插件化开发  

     github: https://github.com/duyanming/Viper

    文档地址: https://duyanming.github.io/

    体验地址: http://140.143.207.244/

    如果对Viper不了解可以看:

      1、 net core 微服务 快速开发框架 Viper 初体验

      2、打不死的小强 .net core 微服务 快速开发框架 Viper 限流

           3、net core 微服务框架 Viper 调用链路追踪

          4、Viper 微服务框架 编写一个hello world 插件-02

    2、Viper微服务编写一个Hello World

      Anno微服务引擎使用非常简单,Anno只专于与服务治理,对业务代码深度解耦。下面我们来写一个Hello World 服务,以此作为引子 让我们了解Anno服务的创建有多简单。

    2.1、新建一个.Net Core 的控制台程序

      让我们新建一个.Net Core 的控制台程序作为服务插件的宿主程序,当然你也可以新建一个Window服务程序、Winform程序作为插件宿主程序。 这里以.Net Core控制台程序为例。

    2.2、 添加Anno依赖

      

    添加依赖需要两个,一个是 Anno.EngineData ,一个是Anno.Rpc.ServerAnno.Rpc.ServerAnno服务的核心程序包, Anno.EngineData 是一个可选程序包,在这里主要是因为业务插件(例如 Anno.Plugs.ViperService)是一个和通讯解耦的模块, 为了方便服务之间也可以调用 Anno.EngineData 里面声明了服务之间调用的接口约束。Thrift、Grpc 插件里面做实现, 以此来解耦通讯组件和业务插件。

    添加Anno Nuget依赖

    Install-Package Anno.EngineData -Version 1.0.2.6
    Install-Package Anno.Rpc.Server -Version 1.0.2.6

    增加一个Anno配置文件

       Anno配置文件的名称为Anno.config,我们直接复制一个过来修改就可以了。主要还是修改下服务的端口名称。 修改完城后我们就可以启动服务了。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <!--0,0 第一位是 工作站,第二位数据中心
      (所有的 AnnoService 的 两位数不能重复例如不能存在【1,2】【1,2】)
      可以存在【1,2】【2,1】
      -->
      <IdWorker>0,1</IdWorker>
      <!--App名称-->
      <AppName>HelloWorld</AppName>
      <!--监听端口-->
      <Port>7012</Port>
      <!--权重-->
      <Weight>1</Weight>
      <!--功能 非Anno.Plugs  加入方式-->
      <FuncName></FuncName>
      <!--忽略的功能 Trace,Logic-->
      <IgnoreFuncName></IgnoreFuncName>
      <!--超时时间毫秒-->
      <TimeOut>20000</TimeOut>
      <!--注册到的目标-->
      <Ts Ip="127.0.0.1" Port="7010"/>
      <IocDll>
        <!-- IOC 仓储-->
        <Assembly>Anno.Repository</Assembly>
      </IocDll>
      <appSettings>
       <!-- 没有用到Redis可以留空默认-->
        <add key="redisConn" value=""/>
        <add key="redisPrefix" value="HW:"/>
        <add key="redisExpiryDate" value="20"/>
        <add key="redisSwitch" value="false"/>
      </appSettings>
    </configuration>

     到此为止一个HelloWorld服务已经编写完成且成功启动。每个一秒会向注册中心注册。另外我们没有看到提示服务功能Tag这是因为我们还没有编写功能插件。 下一小节我们来编写一个功能插件。

      编写一个插件已更新:Viper 微服务框架 编写一个hello world 插件-02

      喜欢Viper的小伙伴们可以在体验地址 通过 “集群总览” 找到两个服务 “HelloWorld-SoEasy”、“HelloWorld”,然后进入 API详情,模拟调用API提前体验一下网关如何调用服务,服务之间如何相互调用。后面也会带着大家编写一到两个简单的功能插件,以此加深对Viper的了解。

     

     github: https://github.com/duyanming/Viper

    文档地址: https://duyanming.github.io/

    体验地址: http://140.143.207.244/

     关于Viper的更多内容,随后更新。敬请关注。开源不易,感谢Star。
  • 相关阅读:
    Android SDK manager 无法更新解决方法
    platform_set_drvdata的源码分析
    从一个男人身上看出他的修养和抱负
    更换RAID1硬盘过程记录
    无线路由器连接有线路由器设置
    在ASP.NET下实现数字和字符相混合的验证码 (转载)
    不走寻常路 设计ASP.NET应用程序的七大绝招
    .NET 2005 使用MasterPages实现Web窗体模板
    用Visual C# 实现四则混合运算(转载)
    如何实施好CRM (转载)
  • 原文地址:https://www.cnblogs.com/duyanming/p/13877569.html
Copyright © 2011-2022 走看看