依赖环境
1、aspnetcore3.1
2、consul
使用步骤
1、从github下载该源码
2、然后引入到项目中即可
public void ConfigureServices(IServiceCollection services)
{
........
// 4、添加服务注册
services.AddServiceRegistry(options => {
options.ServiceId = Guid.NewGuid().ToString(); // 微服务实例Id
options.ServiceName = "SeckillServices"; // 微服务名称
options.ServiceAddress = "https://localhost:5004"; // 微服务地址
options.HealthCheckAddress = "/HealthCheck"; // 健康检测地址
options.RegistryAddress = "http://localhost:8500"; // consul注册地址
});
........
}
public void ConfigureServices(IServiceCollection services)
{
........
// 1、注册服务发现
services.AddMicroClient(options =>
{
options.AssmelyName = "RuanMou.Projects.SeckillAggregateServices"; // 聚合项目名称
options.dynamicMiddlewareOptions = mo =>
{
mo.serviceDiscoveryOptions = sdo =>
{ sdo.DiscoveryAddress = "http://localhost:8500"; }; // consul服务发现地址
};
});
.......
}
/// <summary>
/// 微服务客户端
/// </summary>
[MicroClient("https", "OrderServices")]
public interface IOrderClient
{
/// <summary>
/// 创建订单
/// </summary>
[PostPath("/Orders ")]
public Order CreateOrder(Order order);
public Order CreateOrderItem();
}
特性介绍
1、MicroClient:配置该接口哪个微服务
https:被调用的微服务通信协议
OrderServices:被调用的微服务名称
2、PostPath:配置接口方法通过什么方式调用,支持Post,Get,Delete,Put
/Orders 被调用微服务路径