Surging学习笔记(一) - Go语言中文社区

Surging学习笔记(一)


一、Surging框架简介
surging 是一个分布式微服务引擎,提供高性能RPC远程服务调用,服务引擎支持http、TCP、WS、Mqtt协议,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希一致性,随机,轮询、压力最小优先作为负载均衡的算法,底层协议集成采用的组件是dotnetty、websocket-sharpKestrel。支持通过docker hub 部署服务引擎,也可以通过nuget 引用组件的方式自定义服务引擎。

二、Surging本地部署测试

1、首先使用vs2017拉取surging最新代码

红框标记的有微服务框架代码、作者提供的服务DEMO代码、还有网关代码。代码详情可以去作者博客了解,这里就不一一阐述了。

2、安装启动Redis、RabbitMQ、Consul等相关依赖

相关需要安装的都已经成功安装,然后配置Surging.ApiGateway、Surging.Services.Server这两个项目中redis rabbitmq consul的相关配置,因为是本地部署所以配置一般是不需要动的。
 
3.部署前,我们要配置启动项,我们这里右击解决方案-》属性然后按我图中的顺序设置启动项
 

直接点击启动就可以了。
这样我们的网关和服务就已经正常启动了。下面我们测试一下接口是否可以用。
服务端中注册了一个SayHello的接口,我们来看看它是否可以正常访问。
使用PostMan调用我本地网关端口中的SayHello接口(这里需要注意,我们调用的时候不在是使用服务的ip和端口了,要使用网关的Ip和端口才能正常访问)

 

OK!访问成功了。
 

三、使用Docker部署Surging及相关的测试(docker中部署和本地类似)

1.为了检验Surging服务发现和自动注册功能,我做了一个多服务的Demo。 

2.安装启动Redis、RabbitMQ、Consul等相关依赖。

docker 安装部署这些你可以通过docker pull 相应的版本这样的命令去完成。这里我就演示一个简单点的,鼠标右击小鲨鱼。
点击红框位置,然后下载安装这个。然后就可以通过Kitematic,在搜索栏中下载好RabbitMQ、redis、consul相关镜像
 

 

3.网关和服务中配置redis rabbitmq consul  
这里我们要找到redis rabbitmq consul docker镜像的ip具体如何查看其ip,看如下操作:进入到命令窗口,输入docker container ls或者  docker ps -a  查看docker,可以看到现在运行的docker的相关信息。

然后查看consul的相关配置,输入docker inspect  镜像的 containerID,如consul的id是53c171257c61,输入命令如下:docker inspect 53c171257c61 

找到其中的ip是多少,然后修改surging网关中的consul地址为:"Address": "172.17.0.2:8500",其他配置根据上面的操作进行修改,如redis 镜像地址的查找和修改等。

4.添加Docker支持
修改好surging的网关配置后在网关项目上单击右键,点击docker支持 。如图:
 
自动生成docker-compose.yml后,修改docker-compose.yml配置
网关docker-compose.yml配置 
服务A、B、C docker-compose.yml配置 
5.使用Docker生成相应的镜像和容器,然后运行容器
运行命令 docker-compose -f docker-compose.yml up -d 生成镜像 
启动网关和服务 
查看网关是否发现并注册我写的那三个服务 
使用PostMan访问docker中的三个服务 
  服务A调用成功!

 服务B调用成功!

 服务C调用成功! 

四、总结

通过学习Surging让我掌握了很多平时不太基础的知识,比如:Consul服务发现、服务与服务之间之间的通讯、Docker相关的知识等。后面我还会继续深入的研究Surging框架,继续加油!

转载于:https://www.cnblogs.com/YorkSun/p/10438717.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_33937913/article/details/93181430
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-13 12:22:07
  • 阅读 ( 1565 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢