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

网站搭建和网站开发环保设备网站建设方案

网站搭建和网站开发,环保设备网站建设方案,wordpress添加新文章类型,温州外贸网站建设公司一、啥是API网关#xff1f;API 网关一般放到微服务的最前端#xff0c;并且要让API 网关变成由应用所发起的每个请求的入口。这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式。以前的话#xff0c;客户端不得不去请求微服务A#xff08;假设为Customers  API 网关一般放到微服务的最前端并且要让API 网关变成由应用所发起的每个请求的入口。这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式。以前的话客户端不得不去请求微服务A假设为Customers然后再到微服务B假设为Orders然后是微服务C假设为Invoices。客户端需要去知道怎么去一起来消费这三个不同的service。使用API网关我们可以抽象所有这些复杂性并创建客户端们可以使用的优化后的端点并向那些模块们发出请求。API网关的核心要点是所有的客户端和消费端都通过统一的网关接入微服务在网关层处理所有的非业务功能比如验证、鉴权、监控等等。  关于API网关个人觉得园友杨晓东的这篇文章《谈谈微服务中的API网关》值得一读。微服务架构中的任何一个环节都是可以说很久的而我没有太多经验也就不多谈了。二、开源项目Ocelot  Ocelot是一个使用.NET Core平台上的一个API Gateway这个项目的目标是在.NET上面运行微服务架构。Ocelot框架内部集成了IdentityServer身份验证和Consul服务注册发现还引入了Polly上一篇博文中提到过来处理进行故障处理。目前腾讯和微软是Ocelot在官网贴出来的客户我想也是因为这两家公司都是巨头所以要标榜一下哈哈。  Ocelot github : https://github.com/TomPallister/Ocelot三、快速开始第一个API网关3.1 安装OcelotNuGetInstall-Package Ocelot  3.2 快速准备两个API服务  1准备一个ClientService    创建一个ASP.NET Core WebAPI程序保留默认ValuesController做一下修改   2准备一个ProductService    创建一个ASP.NET Core WebAPI程序保留默认ValuesController做一下修改3.3 静态配置两个API服务  1新建一个json文件eg.configuration.json  首先一个最基本的配置文件如下{ReRoutes: [],GlobalConfiguration: {BaseUrl: https://api.mybusiness.com} }  这里特别注意一下BaseUrl是我们外部暴露的Url比如我们的Ocelot运行在http://123.111.11.1的一个地址上但是前面有一个Nginx绑定了域名http://api.edisonchou.cn那这里我们的BaseUrl就是 http://api.edisonchou.cn。现在我们的实验环境不存在这个条件所以我们暂时不需要配置这个option。下面我们根据模板将刚刚创建并启动的两个Service的信息进行了配置  其中我们得了解一下微服务架构中的上游服务器和下游服务器一般下游服务器指的是提供API服务的REST Service Server比如WebAPI、WCF App等而上游服务器则指的是提供Web网页服务的Web Server比如MVC Application可能需要访问REST Service。那么这里我们可以了解到Downstream 是下游服务配置 即我们刚刚创建的提供API服务的配置我们会指定PathTemplateHost和Port等信息具体调哪一台服务器是由我说了算UpStream 是上游服务配置 即服务消费方eg.MVC Server, SPA App的调用配置你要怎么按照什么URL格式和什么HTTP类型调用我才能理解  通过配置文件我们可以猜测Ocelot的实现原理大致应该就是把客户端对网关的请求(Request)按照configuration.json的映射配置转发给对应的后端http service然后从后端http service获取响应(Response)后再返回给客户端。当然具体细节应该十分复杂等后面有时间深入看看实现机制。  其他不再解释可以看明白另外需要对这个配置文件进行以下设置为了确保直接运行时能够找到这个configuration.json文件    *.通过配置文件可以完成对Ocelot的功能配置路由、服务聚合、服务发现、认证、鉴权、限流、熔断、缓存、Header头传递等。在配置文件中包含两个根节点ReRoutes和GlobalConfiguration。ReRoutes是一个数组其中的每一个元素代表了一个路由我们可以针对每一个路由进行以上功能配置。  2改写Program和StartUp类才能正常使用Ocelot  ①在Program类的BuildWebHost中让程序读取configuration.json文件 ②在StartUp类中为Ocelot注入配置并启动Ocelot3.3 测试一下  1先启动ClientService和ProductService 也可以通过在VS中更改启动顺序来指定    2再启动APIGateway在浏览器中直接访问API网关所在的地址和端口这里是192.168.2.231:8800进行测试先请求ClientService再请求ProductService可以看到API网关对请求进行了转发服务消费方不需要记住每个service所在的IP和端口而是只需要告诉网关我需要消费哪个service即可。      *.tip这里配置的PathTemplate大小写不敏感可以选择通过设置ReRouteIsCaseSensitive:true来实现大小写敏感  到这里第一个API网关的实现就结束了但是对于众多的微服务如果我们都一一硬编码地配置其IP和Port在配置文件中不适合微服务架构的风格因为众多的服务地址变化会让静态配置的工作变得越来越大。因此我们学习了服务发现那么是否可以结合服务发现呢Ocelot Consul的方式为我们给出了答案。四、OcelotConsul的结合4.1 实验节点部署结构  这里仍然采用之前的Consul实验集群三个Consul Server节点1个leader2个follwer一个Consul Client节点部署了两个服务ClientService和ProductService以及一个API网关节点基于Ocelot。4.2 启动Consul  启动方式以及步骤这里不再赘述如不了解请浏览我的前两篇博文《.NET Core微服务之基于Consul实现服务治理》以及《.NET Core微服务之基于Consul实现服务治理续》。这里可以看到我们已经成功地注册了ClientService和ProductService。4.3 启动API Gateway  1为了适配Consul服务发现减少服务IP和Port的hard-code我们需要改一下配置文件  Ocelot提供了基本的负载均衡选项LoadBalanceOptions轮询和最小连接数如果我们部署了多个一样的服务那么我们设置一个选项。  2其他代码无须更改对于基本用法我们要做的基本只是对配置文件的修改。配置完成后即可启动API网关项目。4.4 测试  1请求ClientService    2请求ProductService  五、小结  本篇介绍了API网关的基础概念以及一个基于适合于.NET Core的开源项目Ocelot并通过两个小案例一个静态配置服务一个结合Consul服务发现来了解了API网关的作用和Ocelot的最基础的用法。下一篇会继续Ocelot的一些比较有用的功能比如限流、熔断、缓存以及结合Swagger继续做一些实践也希望到时可以总结下来与各位园友分享。参考资料杨晓东《谈谈微服务中的API网关》桂素伟《Ocelot Consul实践》杨中科《.NET微服务直播课课件pdf》李朝强《ASP.NET Core API网关Ocelot》jesse 腾飞《.NET Core开源API网关 – Ocelot中文文档》Ocelot官网https://github.com/ThreeMammals/Ocelot  tip: 张善友大队长为主要贡献者之一Ocelot官方文档http://ocelot.readthedocs.io/en/latest/index.html相关文章.NET Core微服务之基于Consul实现服务治理.NET Core微服务之基于Consul实现服务治理续.NET Core微服务之基于PollyAspectCore实现熔断与降级机制原文地址: http://www.cnblogs.com/szlblog/p/9164419.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://wiki.neutronadmin.com/news/368652/

相关文章:

  • 网站使用说明书模板wordpress删除所有文章
  • 做个外贸网站大概多少钱wordpress代码优化插件
  • 中国建设部网站首页洛阳东翔科技做的网站
  • 苏州吴江建设局招投标网站wordpress auto自动采集
  • 长春网站建设wang查询建设资质的网站
  • 深圳猪八戒网站建设保定市网站制作公司
  • 做网站不备案大二学生做网站难吗
  • 公司简介模板免费下载world哈尔滨seo优化软件
  • 旅游网站开发方案网站建设要学会编程吗
  • 企业单位网站建设内容需要什么做黄金的网站
  • 室内设计官方网站天津大学生专业做网站
  • 网站建设验收表做销售网站那家好
  • 外贸网站模板推荐潮州市建设局网站
  • 做网商要创建网站吗建设工程教育网官网学员登录
  • 上传网站步骤怎么免费制作网站平台
  • 养老网站建设方案广州番禺网
  • 淘宝联盟交钱建设网站微信h5在哪个网站做
  • 深圳网站设计哪家比较好柳州市建设工程质量安全监督管理处网站
  • 企业网站建设费用属于什么科目免费做自己的网站有钱赚吗
  • 做数据图网站西安市做网站公司
  • 建设网站需要分析什么wordpress媒体库相册
  • 怎么在网站上做模式题库做货代哪个网站上好找客户
  • 建设网站商城后台系统旅游网站制作文献
  • 专业网站开发开发河北建设厅网站没有注册
  • 深圳网站设计制作建设英文定机票网站建设
  • 建筑工程招聘网站哪个好上海4a广告公司
  • 中文网站开发工具百度下载安装2022最新版
  • 黄冈做网站做响应式网站是不是都用rem
  • 建设工程网站新专家入库北京 网站建设600
  • 包头网站设计如何建学校网站