Sers微服务快速入门-02.快速接入

这篇博客介绍了如何轻松将现有项目迁移到Sers微服务架构,无需对原始代码进行修改。通过添加nuget包、修改启动代码以及运行服务中心,即可实现服务的无缝接入。Sers提供了一套中心化的微服务解决方案,简化了微服务的部署和接入流程。
摘要由CSDN通过智能技术生成

微服务给我们的第一映像是架构复杂,部署起来麻烦。其实并非如此,不同的架构选型必然带来不同的优点和缺点,没有一劳永逸的方法,配置简单是因为适用的场景面窄。在项目或产品的实际开发中往往随着时间的推进需要实现不同场景的需求,导致功能扩展,致使架构越来越复杂。
  如果我们之前的代码没有使用微服务,现在随着产品要求商务要求等需要使用微服务怎么办?架构迁移是一件耗时费力的事情,如果能有一套简洁的微服务方案,能够无需对原始代码进行修改即可进行微服务迁移就好了。
  Sers就是这样的一套方案。Sers微服务是一套中心化的微服务架构,部署和接入非常简单。
  Sers提供了3种c#接入的方式(用户亦可自定义接入代码),Serslot是对net core web api的原生支持。无需修改原有web api代码,修改3处地方(仅一处代码)即可无缝接入。查看源码

1.添加nuget包引用

编辑csproj文件,添加如下代码,通过nuget安装Serslot

<ItemGroup>
	<PackageReference Include="Sers.Serslot" Version="2.1.7" />
</ItemGroup>

2.修改项目启动代码

编辑Program.cs文件,按照如下添加两行代码

// Program.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Vit.Extensions;   //----添加代码1

namespace Did.Serslot.HelloWorld
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseSerslot()  //----添加代码2
                .UseStartup<Startup>();
    }
}

3.运行服务中心

服务中心使用net core编写,请先安装netcore2.1运行环境

在windows下直接下载安装包 进行安装即可。

下载服务中心程序,解压,双击批处理文件“SersPublish\netcoreapp2.1\01 ServiceCenter.bat”即可。

控制台有如下类似输出则代表服务中心启动成功。

[INFO][14:57:33.9310][WebHost]will listening on: http://*:4580
[INFO][14:57:33.9323][WebHost]wwwroot : ......\wwwroot
Hosting environment: Production
Content root path: ......\Sers2.1.1.250\ServiceCenter
Now listening on: http://[::]:4580
Application started. Press Ctrl+C to shut down.

4.运行程序

运行程序,在控制台会看到如下输出则代表服务接入成功

[INFO][10:18:23.8879][ServiceStation] init...
[INFO][10:18:23.9804][Serslot] Mode: Async
[INFO][10:18:23.9932][ApiLoader] LoadApi,assembly:[Did.Serslot.HelloWorld, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]
[INFO][10:18:24.0920][ServiceStation] starting ...
[INFO][10:18:24.0934][CL] Connect - trying...
[INFO][10:18:24.3095][CL.DeliveryClient] Socket.Iocp,connecting... host:127.0.0.1 port:4501
[INFO][10:18:24.3422][CL.DeliveryClient] Socket.Iocp,connected.
[INFO][10:18:24.3470][CL.OrganizeClient] Authentication - sending SecretKey...
[INFO][10:18:24.4050][CL.OrganizeClient] Authentication - succeed.
[INFO][10:18:24.4061][CL] Connect - succeed
[INFO][10:18:24.4079][ServiceStation] regist serviceStation to ServiceCenter...
[INFO][10:18:24.7388][ServiceStation] regist - succeed
Press Ctrl+C to shut down.

在服务中心的控制台看到如下输出

[INFO][10:18:24.3921][CL] OnConnected,connTag:
[INFO][10:18:24.7118][ApiCenterService]Regist serviceStation,stationName:
[INFO][10:18:24.7129][ApiCenterService]Add ApiNode,serviceKey:/api/Values/*_DELETE
[INFO][10:18:24.7155][ApiCenterService]Add ApiNode,serviceKey:/api/Values_GET
[INFO][10:18:24.7161][ApiCenterService]Add ApiNode,serviceKey:/api/Values/*_GET
[INFO][10:18:24.7165][ApiCenterService]Add ApiNode,serviceKey:/api/Values_POST
[INFO][10:18:24.7169][ApiCenterService]Add ApiNode,serviceKey:/api/Values/*_PUT

打开地址 http://localhost:4580/api/Values,得到如下返回:

["value1","value2"]

说明我们的api注册到服务中心,并被成功调用了。


Sers微服务快速入门-00.目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值