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

专业微信网站建设公司首选公司哪家好定西谁做网站

专业微信网站建设公司首选公司哪家好,定西谁做网站,logo设计制作公司,简单做网站需要学什么#xfeff;写在前面很多neter都有在用Ocelot做Api网关#xff0c;但是Ocelot又不像kong或者其他网关一样#xff0c;开箱即用。它需要你单独开一个web项目来部署#xff0c;这样很多同学都在做重复的事了。这里[Hei.Ocelot.ApiGateway] 就把这件事给做了#xff0c;以后有… 写在前面很多neter都有在用Ocelot做Api网关但是Ocelot又不像kong或者其他网关一样开箱即用。它需要你单独开一个web项目来部署这样很多同学都在做重复的事了。这里[Hei.Ocelot.ApiGateway] 就把这件事给做了以后有同学要用的话可以单独拉下代码来部署或者docker/k8s直接部署就好了这是我的计划后续怎么做可能要看我自己的需求我们公司内部部分项目也用—大家也可以当成一个ocelot的demo哈毕竟没什么代码量。基于此本文目标读者是对Ocelot有初步了解的同学。项目地址https://github.com/gebiWangshushu/Hei.Ocelot.ApiGateway怎样跑起来项目结构很简单Hei.Ocelot.ApiGateway 是主角是我配置好的Ocelot网关Hei.Api 是网关测试用的Api;Hei.IdentityServer 是测试用的IdentityServer给部分自己没准备好IdentityServer的同学体验的裸机(Host)直接部署直接clone项目下来按需分别跑起来就行docker、docker-compose部署1、clone项目下来配置好 /Hei.Ocelot.ApiGateway/config 下的appsettings.yml2、把这个整个config目录拷贝到 /home/heidemo/config 因为我demo里面挂载在这个目录3、去项目根目录执行docker-compose up (docker-compose.yml就在根目录你可以注释掉你不想启用的service)k8s部署1、deploy.yml下载到本地修改文件后面的ConfigMap节点这部分是配置含义跟其他部署方式一样2、执行kubectl apply -f deploy.yml我自己部署的Hei.Ocelot.ApiGateway 网关地址http://172.16.3.117:5000Hei.Api地址http://172.16.3.117:5003Hei.IdentityServer地址http://172.16.3.117:5100通过网关访问下我的HeiApi:http://172.16.3.117:5000/user、http://172.16.3.117:5000/WeatherForecastOK美我们讲下各个功能怎么开启随便简单聊聊怎么用。启用Admin Api 管理配置Ocelot 有一堆的配置https://ocelot.readthedocs.io/en/latest/features/configuration.htmlOcelot 支持在运行时动态改配置Ocelot 提供了对应的Rest Api 修改即时生效。不然每次改一点点配置都要找运维挺麻烦的对应的Rest  Api是用IdentityServer保护的可以直接配置用已搭建好的IdentityServer或者用Ocelot内置的IdentityServer用来做这个Api的授权。我们实现的是前者开启配置appsetting.yml加上以下配置即可启用Administration:Path: /administration #这里是admin api的目录IdentityServer:Authority: http://172.16.3.117:5100 #IdentityServer地址ApiName: ocelot #这些是我配置好在IdentityServer里的RequireHttpsMetadata: falseApiSecret: secret #这些是我配置好在IdentityServer里的使用1、先去IdentityServer申请tokenPOST http://172.16.3.117:5100/connect/token HTTP/1.1 Content-Type: application/x-www-form-urlencoded2、去Hei-Ocelot-Gateway 查询配置GET http://172.16.3.117:5100/administration/configuration HTTP/1.1 Authorization: Bearer token红框中的就是步骤1申请的token。3、更新Hei-Ocelot-Gateway 更新配置POST http://172.16.3.117:5100/administration/configuration HTTP/1.1 Authorization: Bearer token我发现这个admin Api配置好的配置重启后又会复原为初始化状态不知道是不是Bug。生产谨慎使用或有管理工具每次更新备份好再用。集成IdentityServer做服务授权你的网关后面有很多服务某些服务安全性较高的话可接入IdentityServer做服务授权。开启配置appsetting.ymlIdentityProvider:- Authority: http://172.16.3.117:5100ApiName: ocelotApiSecret: secretRequireHttpsMetadata: false2、ocelot路由配置然后使用前面搭建好的Admin Api或者你用的是配置文件加上以下Routes:{DownstreamPathTemplate: /{url},DownstreamScheme: http,DownstreamHostAndPorts: [{Host: 172.16.3.117,Port: 5003}],UpstreamPathTemplate: /protect/{url},UpstreamHttpMethod: [Get, Post, Put],AuthenticationOptions: {AuthenticationProviderKey: ocelot,AllowedScopes: []},RouteClaimsRequirement: {} }3、测试我们再次访问http://172.16.3.117:5000/user 的受保护路由 http://172.16.3.117:5000/protect/user申请token再次访问服务发现Ocelot 支持Consul和Eureka做服务发现基本能满足我们日常需求Consul开启配置1、appsetting.ymlGlobalConfiguration:ServiceDiscoveryProvider:Host: 172.16.3.119 #这是我配置在其他机器的consul agent,生产用的一般会在本机配个agentPort: 8500Type: Consul2、ocelot路由配置首先要求你们的服务要注册到Consul这里我自己注册了一个叫MessageApi的服务加上以下Routes:{DownstreamPathTemplate: /api/{url},DownstreamScheme: http,UpstreamPathTemplate: /consul/{url},UpstreamHttpMethod: [ Get, Post, Put ],ServiceName: MessageApi,LoadBalancerOptions: {Type: LeastConnection} }这样你访问网关 http://172.16.3.117:5000/consul/ 就能访问到对应服务了Eureka开启配置1、appsetting.ymlEureka:Client:ServiceUrl: http://localhost:8761/eureka/ #你的eurekaShouldRegisterWithEureka: falseShouldFetchRegistry: true2、ocelot配置GlobalConfiguration:ServiceDiscoveryProvider:Type: Eureka3、测试略eureka环境给我删了今天懒得搭了如果需求强烈我加上。K8s支持ocelot是支持k8s的如果你启用k8s那它在k8s集群里的角色比较接近于“ocelot-ingress”吧然后我用的是PackageReference IncludeOcelot.Provider.Kubernetes Version16.0.1 /16.0.0 有点问题直接用AddKubernetes()访问总会报错我换了种方式实现开启配置开启前你肯定要搭建好k8s集群了1、ocelot配置GlobalConfiguration:ServiceDiscoveryProvider:Type: KubeNameSpace: dotnetcore #这是我自己部署的HeiApi的命名空间你的如果你的api有多个命名空间可以在路由里配置2、ocelot新增路由 {DownstreamPathTemplate: /{url},DownstreamScheme: http,UpstreamPathTemplate: /kube/{url},ServiceName: hei-ocelot-api,#Namespace: dev, #比如这里你的这个路由对应的serverName不是dotnetcore你可以这样配置UpstreamHttpMethod: [ Get ]}3、测试我们来访问我们刚刚新增的路由对应地址http://172.16.1.30:31500/kube/user   (之所以换了地址是因为我刚刚172。16.3.117那台机没搭k8s环境)大家也看到服务发现和k8s(在ocelot这里也是一种新式的服务发现)都在配置GlobalConfiguration:ServiceDiscoveryProvider: 下面那Consul和eureka和k8s是互斥的都有配置的话优先级consuleurekak8s总结我大概看着自己的需求实现了部分需要单独引用拓展包才能启用的功能但是还有部分功能未有实现比如Caching、Tracing这些大家可以修改测好后直接提pr我不是懒得写而是测试麻烦懒哈哈同样不需要引用包单独配置就可以启用的功能都一一保留着,比如限流服务熔断降级求求合并请求头转换等等参考https://ocelot.readthedocs.io/en/latest/项目地址https://github.com/gebiWangshushu/Hei.Ocelot.ApiGateway喜欢的话给我点个星~~文章博客园地址请点击“阅读原文”
http://www.zqtcl.cn/news/684187/

相关文章:

  • 网站建设的原则有哪些内容wordpress的底部版权
  • 一个网站建立团队大概要多少钱大连专业网站建设
  • 宁波网站公司相册插件wordpress
  • 科技网站域名大型网站开发团队
  • 温岭建设规划局网站注册新公司网上怎么核名
  • dede网站移动端怎么做golang 网站开发 开源
  • 织梦网站导航固定沈阳男科医院在线咨询免费
  • 四川华鸿建设有限公司网站网站建设需求文案
  • 汕头东莞网站建设怎么制作微信小程序app
  • 网站建设预算方案模板怎么做网络推广网站
  • 顺义网站开发wordpress内容主题模板下载
  • 永康做网站的化工网站模板免费下载
  • 潍坊高密网站建设如何做网页推广
  • 杭州房产网站建设wordpress 替换谷歌字体
  • 陕西省建设工程质量安全监督总站网站开发公司与施工单位工程造价鉴定报告
  • 嘉兴网站建设企业阿里巴巴国际贸易网站
  • 临沂手机网站建设珠海手机网站建设价格
  • 56m做图片视频的网站是什么软件开发和大数据哪个前景好
  • 郑州网站建设哪家做快消品的网站
  • 太原做网站费用东莞it外包
  • 深圳网站关键词优化公司集团网站建
  • 网站建设项目合同传奇手游网站
  • 如何学习网站建设app申请付费网站
  • 微网站开发平台案例重庆网站设计哪家公司好
  • 快递空包网站建设网站的首页怎么做的
  • 青海手机网站建设北京网站建设推荐华网天下
  • 网站网站建设公司孩子学编程网上课程哪家好
  • 跨境电商网站建设方案书江门网页制作
  • 门户网站建设定做如何使用域名访问网站
  • 做网站后台运营这个工作怎么样建设网站销售