原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---先让程序跑起来(一)

写下此文章只为了记录Surging微服务学习过程,并且分享给广大想学习surging的基友,方便广大基友快速入门,让程序跑起来。

本篇文章只记录让Surging跑起来,暂时不涉及部署方面,本文参考了其他几位大佬的文章,精简整理的

一.准备工作:

  1.先把surging搞下来https://github.com/dotnetcore/surging

  2.Win10 Hyper-v开启来,我们本篇中使用轻量linux-- rancherOS,虚机环境搭建请移步文章

  3. RancherOS环境暂时只使用 rabbitmq跟consul

二.运行环境搭建,在RancherOS安装Rabbitmq跟consul(此段配置是照搬https://www.cnblogs.com/hankexia/p/9637195.html)

1.安装consul

$ docker pull consul   --下载consul 镜像

这位老铁的consul 服务发现介绍的还行 consul 服务发现 集群 docker 版

我提炼了一下 执行一下命令就行了,做两个consul服务小集群,嘻嘻

由于docker默认创建容器每次重启会重新分配容器内部IP,会导致集群的join的IP 链接不上从而重启失败!

我们设置docker的consul 容器为固定IP

docker network create --subnet=172.25.0.0/16  consulnet  --创建自定义网络类型,并且指定网段

  consul 服务端 node1  --请按照顺序执行一下命令

$ docker run -d --name node1 --net consulnet  --ip 172.25.0.2 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -server -node=node1 -bootstrap-expect=2 --(这个2 代表集群至少两个consul服务器才能正常启动,我们暂且就弄两个吧,此服务一定要是固定IP 不然下面的join会重启后因为IP不对儿失败)

  获取 node1 的IP

$ JOIN_IP="172.25.0.2"    --node1 的ip 

  consul 服务端 node2

$ docker run -d --name node2 --net consulnet  --ip 172.25.0.3  -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}'  consul agent -server -node=node2 -join $JOIN_IP

  consul 客户端node11 带UI

$ docker run -d --name node11 --net consulnet  --ip 172.25.0.4 -p 8400:8400 -p 8500:8500 -p 8600:53/udp -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -ui -node=node11 -client=0.0.0.0 -join $JOIN_IP

  浏览器打开 RancherOS IP:8500 ,即可看到consul 的UI

2.安装rabbitmq

$ docker pull rabbitmq:3-management
--拉取rabbitmq的镜像,后面不带management,启动rabbitmq后是无法打开管理界面的,所以我们要下载带management插件的rabbitmq. $ docker run -d --name rabbitmq --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 rabbitmq:3-management --这个是使用的默认账号密码 guest guest

 浏览器打开RancherOS ip:15672 即可进入rabbitmq 的UI

三.Surging项目配置 

  1.修改Surging.ApiGateway网关项目下的gatewaySetting.json

    

  2.修改Surging.ApiGateway网关项目下的Program

    

  3.修改Surging.Services.Server\Configs\consul.json

    

  4.修改Surging.Services.Server下的eventBusSettings.json

    

  5.修改Surging.Services.Server下的surgingSettings.json (Rootpath: surging会扫描该路径,加载该路径下的模块)

    

四.Surging运行起来

  1.设置多项目启动,直接F5即可运行

  

  2,http://localhost:8001/即可查看网关UI

  3.用postman请求下user模块,Content-Type加application/json,即可看到请求结果

  

  4.由于surging源码带的demo(Surging.Services.Server)是直接引用了,common模块,因此可直接请求。现在我们来试试rootpath加载manage模块。

  

  我们用命令发布到 我们设置的rootpath(配置路径就是 三--5 图里的 d:\surgingApp),假设我的解决方案目录是d:\surging\src\

    dotnet publish d:\surging\src\Surging.Modules\Surging.Modules.Manager\Surging.Modules.Manager.csproj -o d:\surgingApp\Modules\Manager -c release

     此时我们打开POSMAN请求一下manage的服务

    

      

      

OK,跑起来了,咱们可以深入研究了!

Surging官方技术群:615562965

.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---先让程序跑起来(一)的更多相关文章

  1. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图: 以上可以看出项目结构可以划分为4大块,1是surging的核心底层,2,3,4都可以 ...

  2. (1)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- 什么是微服务架构,.netCore微服务选型

    开发工具:VS2017 .Net Core 2.1 什么是微服务?单体结构: 缺点: 1)只能采用同一种技术,很难用不同的语言或者语言不同版本开发不同模块: 2)系统耦合性强,一旦其中一个模块有问题, ...

  3. (1).NET CORE微服务 Micro-Service ---- 什么是微服务架构,.netCore微服务选型

    开发工具:VS2017 .Net Core 2.1 什么是微服务?单体结构: 缺点:1)只能采用同一种技术,很难用不同的语言或者语言不同版本开发不同模块:2)系统耦合性强,一旦其中一个模块有问题,整个 ...

  4. 什么是微服务架构,.netCore微服务选型

    什么是微服务架构,.netCore微服务选型 https://www.cnblogs.com/uglyman/p/9182485.html 开发工具:VS2017 .Net Core 2.1 什么是微 ...

  5. .NETCore微服务探寻(一) - 网关

    前言 一直以来对于.NETCore微服务相关的技术栈都处于一个浅尝辄止的了解阶段,在现实工作中也对于微服务也一直没有使用的业务环境,所以一直也没有整合过一个完整的基于.NETCore技术栈的微服务项目 ...

  6. .NETCore微服务探寻(三) - 分布式日志

    前言 一直以来对于.NETCore微服务相关的技术栈都处于一个浅尝辄止的了解阶段,在现实工作中也对于微服务也一直没有使用的业务环境,所以一直也没有整合过一个完整的基于.NETCore技术栈的微服务项目 ...

  7. .NETCore微服务探寻(二) - 认证与授权

    前言 一直以来对于.NETCore微服务相关的技术栈都处于一个浅尝辄止的了解阶段,在现实工作中也对于微服务也一直没有使用的业务环境,所以一直也没有整合过一个完整的基于.NETCore技术栈的微服务项目 ...

  8. .NETCore微服务探寻(三) - 远程过程调用(RPC)

    前言 一直以来对于.NETCore微服务相关的技术栈都处于一个浅尝辄止的了解阶段,在现实工作中也对于微服务也一直没有使用的业务环境,所以一直也没有整合过一个完整的基于.NETCore技术栈的微服务项目 ...

  9. 最新最最最简单的Snagit傻瓜式破解教程(带下载地址)

    最新最最最简单的Snagit傻瓜式破解教程(带下载地址) 下载地址 直接滑至文章底部下载 软件介绍 一个非常著名的优秀屏幕.文本和视频捕获.编辑与转换软件.可以捕获Windows屏幕.DOS屏幕:RM ...

随机推荐

  1. PatentTips - System and method to deprivilege components of a virtual machine monitor

    BACKGROUND INFORMATION An embodiment of the present invention relates generally to virtualization pl ...

  2. HTML5吃豆豆游戏开发实战(一)使用Canvas绘制游戏主角

    近期在学习HTML5.爱因斯坦曾说过,"最好的学习就是自己去经历". 于是.我想在学习HTML5的同一时候.做一款简单的小游戏,这样学习起来也会非常有趣的.我想做的是曾经小时候玩儿 ...

  3. ChinaVis2015 第一天会议

    第二届  ChinaVis 2015 在天津举行,非常幸运发现者个会议,并在导师的带领下參与本次会议. 主要要是以可视化与可视分析为背景进行讲座,以马匡六为Speaker.袁晓如,张加万等致辞开幕式. ...

  4. oracle 数据库批处理文件

    文件夹结构 初始化脚本 |----orcl_sql |----init_user.sql |----tab_home.sql |----TAB_USER.sql |----init.bat init. ...

  5. android中9-patch图片的使用

    看了非常多文章的介绍,9.png图片有两种区域:可扩展区和内容显示区. 弄了半天才明确什么叫做可扩展区,什么叫做内容显示区. 分享一下自己的理解. 下图是某博客的截图: 图片来自:http://blo ...

  6. modSecurity规则学习(五)——DDOS攻击检测

    1.IP访问频率 SecAction phase:1,nolog,pass,setvar:IP.counter=+1 SecRule IP:UPDATE_RATE "@gt 10" ...

  7. android图像处理系列之五-- 给图片添加边框(中)

    前面一篇讲到给图片加边框的方式,只能给图片加一些有规则的边框,如果想加一些比较精美的效果,就有点麻烦了.下面就给出解决这个问题的思路. 思路是:一些比较精美的花边图片我们是很难用代码控制,就目前本人水 ...

  8. Spring 配置自动扫描原理说明

    Spring利用IOC容器将所有的bean进行有秩序的管理维护,而实际项目中不可能在xml文件中创建bean,而是利用了Spring的组件自动扫描机制,通过在classpath自动扫描的方式把组件纳入 ...

  9. Python 3 下载安装和环境搭建

    Python3 下载 由于博主使用的平台是Windows10,以下方法仅限win10系统 Python 官网:https://www.python.org/ 找到跟系统相应的版本瞎子: Python ...

  10. 将字符串使用md5加密

    >>> import md5 >>> md5.md5('123').hexdigest() '202cb962ac59075b964b07152d234b70' & ...