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

医药平台网站建设网站提速

医药平台网站建设,网站提速,html5学习网站,做网盘网站的成本一般看到公众号更新#xff0c;就是大概率要开始上班了#x1f602;上回书咱们说到了《【Blog.Core开源】快速预览Admin界面效果》#xff0c;这样我们就可以专注于后端开发#xff0c;而且也能快速的实现效果的预览。那今天我们继续来往下走#xff0c;说一说网关相关的内… 一般看到公众号更新就是大概率要开始上班了上回书咱们说到了《【Blog.Core开源】快速预览Admin界面效果》这样我们就可以专注于后端开发而且也能快速的实现效果的预览。那今天我们继续来往下走说一说网关相关的内容打算做一个网关的专题希望可以帮助下社区吧。先说故事背景想必很多小伙伴都已经在工作和学习中使用过网关了而且在ASP.NETCore中使用较多的就是Ocelot当然现在的市场上也有很多其他的开源组件这里以后再说吧先说说Ocelot在Blog.Core项目中很久之前我也是用的Ocelot作为网关来搭建微服务体系架构的只不过2021年忙着工作和写书没有太多的精力吧网关给搞起来今年就慢慢优化下项目吧。Ocelot来实现网关还是比较简单的只是简单的配置下Json文件就行然后通过Postman来进行测试查看效果。功能上当然还有其他的服务注册和发现比如用Consul或者是Nacos甚至是Azure目前咱们还用不到。网关另一个功能就是鉴权认证和Header信息的下发这个咱们下篇文章再说。那剩下的就是网关接口文档了如果一直用Postman毕竟不是很方便肯定是要给前端一个踏踏实实的接口文档的我个人比较喜欢用Swagger其他的接口文档虽然很多但是不是很习惯。那就出现了今天的问题如何在网关的Swagger文档中把下游的所有微服务都集中起来通过一个文档地址就能看到所有的接口信息呢直接上代码。01PART调整Ocelot.json几乎大家都会写这块我就不过多的介绍每个节点什么意思了只是以BlogCore子服务为例说说如何配置如果以后增加其他服务这里依此类推举一反三。{Routes: [// blog-svc{UpstreamPathTemplate: /svc/blog/{url},UpstreamHttpMethod: [ Get, Post, Put, Delete ],LoadBalancerOptions: {Type: RoundRobin},DownstreamPathTemplate: /svc/blog/{url},DownstreamScheme: http,DownstreamHostAndPorts: [{Host: localhost,Port: 9291}],AuthenticationOptions: {AuthenticationProviderKey: GW}},// blog-svc-swagger{UpstreamPathTemplate: /swagger/apiswg/blog-svc/swagger.json,UpstreamHttpMethod: [ GET ],DownstreamPathTemplate: /swagger/V2/swagger.json,DownstreamScheme: http,DownstreamHostAndPorts: [{Host: localhost,Port: 9291}],LoadBalancer: RoundRobin}],GlobalConfiguration: {BaseUrl: http://localhost:9000,ServiceDiscoveryProvider: {Host: localhost,Port: 8500,Type: Consul}} }核心点就是把Swagger的json地址单独写一个路由映射配置这样就可以把Swagger给引进来了当然如果你把下游的SwaggerJson地址给手动改成和接口类似的模板这样写一个就行就不用把api和swagger单独分开写两个了。02PART渲染子服务接口文档配置好了Json文件下面就需要引入到网关项目里打开Blog.Core.Gateway的Startup文件找到Swagger的中间件配置的地方修改显示规则public static void UseCustomSwaggerMildd(this IApplicationBuilder app){if (app null) throw new ArgumentNullException(nameof(app));var apis new Liststring { blog-svc };app.UseSwagger();app.UseSwaggerUI(options {options.SwaggerEndpoint($/swagger/v1/swagger.json, $Blog.Core.Gateway-v1);apis.ForEach(m {options.SwaggerEndpoint($/swagger/apiswg/{m}/swagger.json, m);});options.RoutePrefix ;});}我这里单独封装了一个扩展方法通过手动配置参数名就可以循环添加到网关的swagger文档里了。似乎到这里已经完成了其实还不行因为咱们的BlogCore子服务的路由还是api开头的这样在网关的swagger中访问接口的话是404的当然网关这里我们可以做些优化比如说统一返回数据格式友好提醒啥的这个大家自己根据项目需要来处理吧。现在要解决的就是404的问题两种方案1、直接用下游的路由来配置到ocelot.json里这样就能访问了但是这样的话其他同样路径的微服务怎么办2、那就直接在子服务中修改下路径即可。√03PART下游微服务修改路由这个就很简单了直接给下游增加一个路由前缀就行了我们已经有这个功能了/// summary /// 路由变量前缀配置 /// /summary public static class RoutePrefix {/// summary/// 前缀名/// 如果不需要尽量留空不要修改/// 除非一定要在所有的 api 前统一加上特定前缀/// /summarypublic const string Name /svc/blog; }这样就ok啦绝大部分的接口已经增加上了路由前缀这里为啥要说绝大部分呢因为目前这个全局路由前缀还有点儿小问题就是如果在接口的Action上写的绝对路径还是没有增加上路由前缀的以后我会优化掉。请求网关接口9000也能很完美的实现效果单独访问子服务的swagger(9291)也可以使用网关接口文档子服务接口文档好啦今天的分享暂时就到这里吧网关如何集成下游服务接口文档的那在以后的文章中我会给大家分享下如何鉴权/认证和信息下发如何实现网关文档登录访问目前该功能在BlogCore里如何实现处理审计日志目前该功能在BlogCore里如何连接服务注册中心等等这是一个网关的专题希望大家喜欢。
http://www.yutouwan.com/news/316113/

相关文章:

  • 临沂网站建设公司排名wordpress修改code标签
  • 建网站怎么起名字自己做视频的网站吗
  • 网站开发的意义和作用服务器和网站维护
  • 外包做一个网站一般费用网站推广与优化哪里好
  • 网页设计网站的设计与规划青岛做公司网站
  • 外贸网站搜索引擎优化方法flash 网站引导页
  • 青海做高端网站建设的公司网站怎么自己编辑模块
  • 网站建设价格差异好大wordpress 自定义查询
  • 南昌网站搭建公司 赣ICP校园风险管理网站建设方案
  • 网站编辑年终总结国外域名怎么购买
  • 手机网站制作教程软件网站建设画册
  • php网站授权工程建设股票龙头
  • 网站流量如何突破养殖公司起名字大全免费
  • 品牌网站建设技术1个ip可以做几个网站吗
  • 英迈思做的网站怎么样app开发用什么框架
  • 百度推广开户套模版做的网站好优化吗
  • 建设银行舒城支行网站wordpress页面图片轮播图
  • 手机网站生产app公司装修报价
  • 自己做的网页加在网站文章上为什么打不开wordpress 百度站长
  • 临海房产中介网站如何制作页面设计工作内容自述
  • 青岛做网站企业排名做软件下载网站怎么赚钱
  • 网站设计如何做策划南沙区交通和建设局网站
  • php做的网站处理速度怎么样贵阳建网站
  • 招远网站建设哪家专业金蝶
  • 彩票网站怎么做代理网站制作如皋
  • 怎样设置默认网站深圳网站制作教程
  • 佛山网站建设WordPress上传Excel
  • 苏州市城乡和建设局网站域名和服务器多少钱
  • 网站建设中单页代码网站开发工资多少
  • apache php 多个网站江苏商城网站建设服务