欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

(三)surging 微服务框架使用系列之我的第一个服务(审计日志)

程序员文章站 2022-04-03 11:47:19
前言:前面准备了那么久的准备工作,现在终于可以开始构建我们自己的服务了。这篇博客就让我们一起构建自己的第一个服务 审计日志。 首先我们先创建两个项目,一个控制台的服务启动项目,一个业务的实现项目。(注:控制台项目可以引用业务项目,也可以不引用业务项目。因为surging支持热部署) 在服务启动项目中 ......

前言:前面准备了那么久的准备工作,现在终于可以开始构建我们自己的服务了。这篇博客就让我们一起构建自己的第一个服务---审计日志。

  首先我们先创建两个项目,一个控制台的服务启动项目,一个业务的实现项目。(注:控制台项目可以引用业务项目,也可以不引用业务项目。因为surging支持热部署)

在服务启动项目中引用我们所需要的surging组件(三)surging 微服务框架使用系列之我的第一个服务(审计日志)

服务配置:(三)surging 微服务框架使用系列之我的第一个服务(审计日志)

当然,我们之前所描述的rabbitmq的配置:(三)surging 微服务框架使用系列之我的第一个服务(审计日志)

 

  ok,接下来就是对我们的服务进行代码编写了,(三)surging 微服务框架使用系列之我的第一个服务(审计日志),接口注意,服务的命名后面必须是以“Service”结束,服务接口必须继承IServiceKey

  服务实现:(三)surging 微服务框架使用系列之我的第一个服务(审计日志),ModuleName(""),因为一个接口可能有多个实现,,所以这里的ModuleName就是为了调用的时候区分我们要用到哪个实现,如果只有一个实现,可以不用这个属性,另外,实现只要继承ProxyServiceBase跟自己定义的服务接口就可以了。

需要注意的是:surging的接口不支持泛型,编码采用json方式传递数据,客户端调用的时候需要用到方法的参数名称。

客户端:首先客户端在nuget中添加我们所需要的surging组件(三)surging 微服务框架使用系列之我的第一个服务(审计日志)

客户端的配置:(三)surging 微服务框架使用系列之我的第一个服务(审计日志),当然不能少了rabbitmq的配置

(三)surging 微服务框架使用系列之我的第一个服务(审计日志),在客户端只需要配置rabbitmq的连接地址就可以了。

 

测试代码:(三)surging 微服务框架使用系列之我的第一个服务(审计日志),获取代理实例,客户端服务调用测试代码:(三)surging 微服务框架使用系列之我的第一个服务(审计日志)

设置审计日志跟客户端为启动项目:(三)surging 微服务框架使用系列之我的第一个服务(审计日志)

测试结果:(三)surging 微服务框架使用系列之我的第一个服务(审计日志),完美,调用成功。

surging微服务框架:官方推荐使用UseMessagePackCodec的编码方式,万次调用效率在1200ms左右(调用需要引用接口(获取代理实例ServiceLocator.GetService<IServiceProxyFactory>()))。

在这篇博客中我采用json的编码方式,surging测试万次调用在3600ms左右。

采用json的编码方式,服务之间的调用await proxy.Invoke<object>(model, "api/userManager/singleByEmailAndPassword", "User");都是通过这句代码来实现的。