这一章主要做个简单的分布式--前后端分离
目标:项目从单体架构改成分布式
1. 新建解决方案和项目
选择 模型视图控制器(MVC)
2. 添加 实体类项目 - 添加 User实体类

3. 添加 接口项目 - 添加 IUserService.cs 接口

4. 添加 实现类项目 - 添加 UserService.cs 实现类 - 测试数据


5. 简单的添加好底层和测试数据,开始添加前端代码
修改 Startup.cs ,把 IUserService UserService 注入容器

修改 HomeController.cs 依赖注入 IUserService , 直接调用 UserAll 方法

修改 Index.cshtml, 循环把User->Name数据读出来

生成编译->执行命令 这里用 8001端口
dotnet AspNetCore.MicroServiceClient.dll --urls=”http://*:8001” --ip=”127.0.0.1” --port=8001
结果
这里就完成了简单的.Net Core Mvc 的单体架构示例
接下来就是完成这章的目标:项目从单体架构改成分布式
1. 添加一个 Web Api 项目
2. 修改 ServiceInstance项目里 Startup.cs ,把 IUserService UserService 注入容器

3.添加 UsersController 控制器
4.依赖注入 ILogger 和 IUserService , 添加获取数据的方法

5. 生成编译->执行命令 这里用 8002端口
dotnet AspNetCore.MicroService.ServiceInstance.dll --urls=”http://*:8002” --ip=”127.0.0.1” --port=8002
两个方法的结果
6.回到 MicroServiceClient 项目 ,修改 HomeController 控制器

调用API方法

生成编译->执行命令 这里用 8001端口
dotnet AspNetCore.MicroServiceClient.dll --urls=”http://*:8001” --ip=”127.0.0.1” --port=8001
结果
这里可以看到结果和单体架构的结果一样,可是我们启动了两个端口实例,实现了前后端分离,这样我们就可以把每个业务做成一个实例,比如自营、秒杀或者超市等,分成一个个的后端实例,分布到不同服务器做分布式架构开发了。
注意:如果对怎么执行命令和样式出不来这些问题,可以看我以前的文章
执行命令部署 《Kestrel Web 服务器 》这个链接可以解决 执行命令和样式 问题
网友评论