当前位置: 首页 > news >正文

怎样查别人网站的外链北京网站关键词

怎样查别人网站的外链,北京网站关键词,朝阳网站建设多少钱,福州网页定制0.简介0.1 什么是 ConsulConsul是HashiCorp公司推出的开源工具#xff0c;用于实现分布式系统的服务发现与配置。这里所谓的服务#xff0c;不仅仅包括常用的 Api 这些服务#xff0c;也包括软件开发过程当中所需要的诸如 Rpc、Redis、Mysql 等需要调用的资源。简而言之 Con… 0.简介0.1 什么是 ConsulConsul是HashiCorp公司推出的开源工具用于实现分布式系统的服务发现与配置。这里所谓的服务不仅仅包括常用的 Api 这些服务也包括软件开发过程当中所需要的诸如 Rpc、Redis、Mysql 等需要调用的资源。简而言之 Consul 就是根据 Key/Value 存储了一套所有服务的 IP/Port 集合当你 Grpc 客户端需要请求某种服务的时候具体的 IP 与端口不需要你自己来进行指定而是通过与 Consul Agent 通信获得某个服务下面可用的 IP/Port 集合。而 Consul 还提供了健康检查等附加的功能你可以通过对可用服务节点的遍历来自己进行负载均衡或者服务选择。0.2 为什么要用 Consul没用 Consul 之前的情况是我 new 一个 Channel 的话需要指定 Grpc Server 的地址与端口一单服务挂掉或者 Grpc Server 的 IP 地址或者端口有变更那么我还得重新更改 setting 才能够使用我的服务。使用了 Consul 之后我只需要去 Consul Agent 里面查询我指定的服务有哪些节点可用返回给我对应的 IP 地址和端口我就可以进行连接了。1.准备工作1.1 Consul 集群安装与配置Consul 我是直接使用 Docker 的官方 Consul 镜像来进行安装的直接执行以下命令 pull 到最新的镜像docker pull consul拿到之后我们先运行一个服务docker run -d --namedev-consul-server1 -e CONSUL_BIND_INTERFACEeth0 consul agent -server -bootstrap之后我们再运行两个 Consul Server:docker run -d --namedev-consul-server2 -e CONSUL_BIND_INTERFACEeth0 consul agent -server -retry-join 172.17.0.20这里 172.17.0.20 是之前 dev-consul-server1 的 IP 地址。docker run -d --namedev-consul-server3 -e CONSUL_BIND_INTERFACEeth0 consul agent -server -retry-join 172.17.0.20我们可以运行 consul members 命令来查看 Consul 集群信息docker exec -t dev-consul-server1 consul members 可以看到已经有 3 个 Consul Server 启动了。下面我们再来运行一个 Consul Client 作为服务注册与发现的端口docker run -d -p 8500:8500 --namedev-consul-client -e CONSUL_BIND_INTERFACEeth0 -e CONSUL_UI_BETAtrue consul agent -retry-join 172.17.0.20 -bind 0.0.0.0 -ui -client 0.0.0.0这里注意 -bind 与 -client 命令是你绑定的 IP 地址这里我直接将其与 0.0.0.0 绑定而 -e CONSUL_UI_BETAtrue 则是用于启动新版本的 WebUI 界面-ui 是启用 WebUI 界面。启动完成之后我们可以访问已经启动的 Client Agent 了2.客户端与服务端编写在这里我以 Abp 框架作为演示如何编写一个支持 Consul 的 Grpc 服务端与 Grpc 客户端在演示当中所使用到的 Abp.Grpc.Server 包与 Abp.Grpc.Client 包可以从 NuGet 站点当中搜索安装其源代码我托管到 GitHub 上面的地址为https://github.com/GameBelial/Abp.Grpc欢迎 Star。2.1 Grpc 服务端编写2.1.1 Abp 集成首先建立一个标准的 ASP.NET Core Web Application 程序引入 Abp、Abp.AspNetCore、Abp.Grpc.Server 包项目取名为 Abp.Grpc.Server.Demo类型选择空项目在我们的 Startup 类当中编写如下代码2.1.2 建立项目启动模块新建一个 AbpGrpcServerDemoModule 类并编写以下代码2.1.3 编写健康检查控制器新建一个文件夹叫做 Controllers 并且新建一个 HealthController 类其内容如下2.1.4 编写 RPC 服务新建一个 RpcServices 文件夹并且新建一个 TestGrpcService 文件其内容如下可以看到我们编写了一个简单的 Sum 方法该方法接收两个 int 类型的参数计算其和并返回。2.1.5 编写 Dockerfile 文件因为我们的 Consul 是放在 Docker 容器当中的所以我们将我们的站点发布出去并且编写一个 Dockerfile 文件内容如下FROM microsoft/dotnetENV ASPNETCORE_URLS http://:5000## 开放 5000 网站端口EXPOSE 5000## 开放 5001 RPC 端口EXPOSE 5001WORKDIR /appCOPY ./ .ENTRYPOINT [ dotnet,Abp.Grpc.Server.Demo.dll ]将其拷贝到发布好的站点并且执行 docker build 命令PS D:\Project\DEMO\Abp.Grpc.Server.Demo\Abp.Grpc.Server.Demo\bin\Release\netcoreapp2.1\publish docker build -t grpc-server-demo . Sending build context to Docker daemon   29.9MB Step 1/7 : FROM microsoft/dotnet--- d8381e1175a1Step 2/7 : ENV ASPNETCORE_URLS http://:5000--- Using cache--- da7659cff6d2Step 3/7 : EXPOSE 5000--- Using cache--- 7ecfc480ad43Step 4/7 : EXPOSE 5001--- Using cache--- 75f10934ad1eStep 5/7 : WORKDIR /app --- Using cache--- dee9739da4cdStep 6/7 : COPY ./ . --- 1a5acc1f0298Step 7/7 : ENTRYPOINT [ dotnet,Abp.Grpc.Server.Demo.dll ] --- Running in a46efbabc7fcRemoving intermediate container a46efbabc7fc --- 321201373ecfSuccessfully built 321201373ecf Successfully tagged grpc-server-demo:latestSECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have -rwxr-xr-x permissions. It is recommended to double check and reset permissions for sensitive files and directories构建完镜像之后我们运行该镜像docker run -d -p 5000:5000 -p 5001:5001 --namegrpc-server-demo grpc-server-demo2.1.6 查看 Consul来到 Consul 的 UI 界面查看效果可以看到已经成功注册说明已经成功了。2.2 Grpc 客户端编写2.2.1 Abp 集成首先建立一个标准的 .Net Console 程序引入 Abp.Grpc.Client 包在我们的 Program 类当中编写如下代码2.2.2 建立项目启动模块然后我们新建一个 AbpGrpcClientDemoModule 类该类一样是一个启动模块用于配置连接信息很简单直接配置 Consul 注册的 IP 与端口号即可。2.2.3 建立 RPC 接口定义要调用我们 Server 提供的 RPC 端口的话得编写一个接口定义就是我们在 Server 项目里面写的那个新建一个 ITestGrpcService 接口内容如下2.2.4 调用 RPC 接口调用接口的话需要注入 IGRpcConnectionUtility 工具类使用其 GetRemoteService 方法就可以调用你的远程方法记住一定要传入有效的服务名称。2.2.5 编写 Dockerfile 文件一样的我们新建一个 Dockerfile 文件将我们的 client 也打包成镜像FROM microsoft/dotnetWORKDIR /app COPY ./ .ENTRYPOINT [ dotnet,Abp.Grpc.Client.Demo.dll ]内容很简单一样的复制到发布成功的文件夹构建镜像docker build -t grpc-client-demo .构建之后运行docker run grpc-client-demo不出意外的话会看到如下输出PS D:\Project\DEMO\Abp.Grpc.Client.Demo\Abp.Grpc.Client.Demo\bin\Release\netcoreapp2.1\publish docker run grpc-client-demoResult:15Press enter to stop application...Hello World!3.代码分析抛开 ABP 框架部分的代码其实要实现服务注册很简单核心就是 ConsulClient 这个类下面就来分析一下 Abp.Grpc 库里面的代码。3.1 注册服务注册服务其核心就在于 ConsulClient.Agent.ServiceRegister() 方法通过传入一个构造好的 AgentServiceRegistration 对象就可以成功注册一个服务到 Consul。例如构建成功后通过 ConsulClient.Agent.ServiceRegister() 方法即可注册到 Consul。取消注册则是通过 ConsulClient.Agent.ServiceDeregister 方法。3.2 发现服务服务发现相较于服务注册简单得多只需要通过 ConsulClient.Catalog.Services 遍历其结果即可获得所有节点并且通过 LINQ 来筛选出指定 tag 的服务。4.其他相关参考资料田园里的蟋蟀:Docker Consul Fabio ASP.NET Core 2.0 微服务跨平台实践)Edison Chou:.NET Core微服务之基于Consul实现服务治理Cecilphillip:Using Consul for Service Discovery with ASP.NET Core5.所使用到的代码Abp.Grpc 库代码https://github.com/GameBelial/Abp.GrpcDEMO 代码https://github.com/GameBelial/Abp.Grpc.Server.Demohttps://github.com/GameBelial/Abp.Grpc.Client.Demo相关文章 .NET Core微服务之基于Consul实现服务治理.NET Core微服务之基于Consul实现服务治理续Ocelot Consul实践青客宝团队Consul内部分享ppt搭建consul 集群Redola.Rpc 集成 Consul 服务发现Consul 服务注册与服务发现在Windows 下如何使用 AspNetCore Api 和 consul原文地址: https://www.cnblogs.com/myzony/p/9168851.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.pierceye.com/news/473474/

相关文章:

  • 电商网站通用左侧弹出导航有南昌网站优化公司
  • 沈阳三好街做网站公司个人网页设计风格分析
  • 网站建设经费计划内容网站建设中存在的问题
  • 天凡建设股份有限公司网站苍山网站建设
  • 如何新建网站dw线下推广的渠道和方法
  • 网站友链wordpress火车头发布
  • 青海网站维护公司自己的网站叫什么
  • 微网站 淘宝客wordpress备案号放置
  • html5 手机网站 模版网站信息员队伍建设
  • 基金会网站开发方案政务公开网站建设重点
  • 影视网站制作网页游戏的软件
  • 企业做网站的费用如何科目青色网站欣赏
  • 做视频网站怎么赚钱的网站开发流程的三个部分
  • 牡丹江市建设行业协会网站广西住房城乡建设厅网站首页
  • 重庆网站关键词排名优化免费网页代理的推荐
  • 定制型网站怎么做重庆软件开发公司有哪些
  • 自适应型网站建设网站建设搭建是什么意思
  • 网站建设能够不同地方网址大全12345
  • 做网批那个网站好校园网站界面建设
  • 免费网站建设php济南网站建设公司官网
  • 徐汇网站推广网络营销的四个特点
  • 简易做网站wordpress插件tag
  • 红酒 公司 网站建设青岛安装建设股份公司网站
  • 小米路由hd 做网站营销型网站策划 建设的考试题
  • 运河网站制作自主建站平台
  • 万网 网站建设合同最好的网站开发语言
  • 网站备案密码收不到典当 网站
  • 东莞网站建设推广服务网站建设开票单位
  • 贵港公司做网站东莞凤岗企业网站建设推广
  • 网站制作过程中碰到的问题微信怎么做链接推广产品