Surging学习笔记(一)
作者:互联网
一、Surging框架简介
surging 是一个分布式微服务引擎,提供高性能RPC远程服务调用,服务引擎支持http、TCP、WS、Mqtt协议,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希一致性,随机,轮询、压力最小优先作为负载均衡的算法,底层协议集成采用的组件是dotnetty、websocket-sharp、Kestrel。支持通过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框架,继续加油! <style></style>标签:网关,服务,笔记,学习,Surging,editor,docker,wiz 来源: https://www.cnblogs.com/YorkSun/p/10438717.html