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

网站建设 山东百度一下百度主页

网站建设 山东,百度一下百度主页,广西建设职业技术学院图书馆网站,WordPress数据库添加管理员前言项目地址#xff1a;https://github.com/lianggx/Kong.Net你的支持使我们更加强大#xff0c;请单击 star 让更多的 .NETCore 认识它。拥抱开源的脚步#xff0c;我们从来都是一直在路上#xff1b;.NETCore作为后起之秀#xff0c;带给我们太多的惊喜和感动#xff… 前言项目地址https://github.com/lianggx/Kong.Net你的支持使我们更加强大请单击 star 让更多的 .NETCore 认识它。拥抱开源的脚步我们从来都是一直在路上.NETCore作为后起之秀带给我们太多的惊喜和感动但是也正是由于年轻.NETCore 的生态还是不够完善这就非常需要我们社区的力量需要大家一起参与把开源社区好的工具、组件、应用接入到 .NETCore 应用中。他山之石可以攻玉在很多时候我们想要在项目中引入高性能开源网关 Kong 的时候苦于没有 .NETCore 客户端而放弃Nuget 仓库曾经有一个 .NETFramework 版本的客户端但是已经年久失修了可见开源项目的维护极其不易。Kong 是什么Github 地址https://github.com/Kong/kongKong 的 Logo 是金刚是一个支持云原生应用的高性能网关于 2015 年开源其核心价值在于高性能和可扩展性Kong 的贡献值高达 151 人目前为止共有 5073 次代码提交记录976 个关注22353 个 star 和 2736 个forkKong 的有点非常多特别是其基于 lua 编写性能卓越且具有平台无关性还有丰富的第三方插件以及用户体验良好的的仪表盘操作界面Konga另一个开源作品可以说Kong 具备了一个优秀网关的所必须的所有能力支持 docker 部署使用 postgresql 进行数据持久化高可扩展性可轻松升级为服务网格方案REST API 访问非常灵活的接入控制方式。技术选型Consul我是由于在最近的技术选型中了解到 Kong 的在此之前我曾经考虑过 NginxConsul 方案详情见我的博客对 Consul 也进行了深入的了解和测试但是由于 Consul 始终只是一个服务发现的组件不具备网关能力且维护复杂脚本维护虽然在 .NETCore 下接入非常的方便但是还是只能放弃了。Spring-cloud也考察了 Spring-cloud GatewaySpring 大法好特别是阿里的 Nacos 的支持和跟进使得 Spring 占据了80%的江山不知道我是否高估了而且搭建 Spring Gateway 的步骤非常简单一个小白只要花2天时间就能快速的搭建出一个 Spring-cloud GatewayJava 的生态真的是让人垂涎欲滴没办法惯性太大了。同时由于 Spring-cloud Gateway 的 .NetCore 客户端不提供废话来的人家是玩 Java 的所以从成本上考虑也得放弃。kong终于还是选择了 KongKong 的平台无关性和设计良好的 REST API 让我们有机会快速的接入到这款高性能的网关中我个人开发 Kong.Net 这款客户端用时 3 天REST API 共有 81 个 API支持Konglatest最新版本为1.2.x。Kong.Net项目结构项目结构比较简单就是一个标准的开源框架的样子包含了 examples、src、test 三大块的内容其中 src 包含两个项目 Kong/Kong.Extensions单元测试一共有 80 个已全部测试通过。使用 Kong.Net在 .NETCore 项目中使用 Kont.Net 非常简单只需要在项目中进行 Nuget 包的引用即可截止本文发文时版本号为 Kong.Net-0.0.4。为了更方便的使用 Kong.Net 建议同时引用 Kong.Extension-0.0.4 包扩展包封装了一些初始化配置信息比如健康检查路径和响应非常方便。完全基于 .NetCore 目前依赖 Json.Net在配置文件中加入以下配置以初始化客户端kong: { host: http://10.23.11.1:8001, upstream: { tags: [ example, low-priority ], name: Kong.Example, hash_on: none, healthchecks: { active: { unhealthy: { http_statuses: [ 429, 500, 501, 502, 503, 504, 505 ], tcp_failures: 1, timeouts: 1, http_failures: 1, interval: 5 }, type: http, http_path: /kong/healthchecks, timeout: 1, healthy: { successes: 1, interval: 5, http_statuses: [ 200, 302 ] }, https_verify_certificate: true, concurrency: 1 }, passive: { unhealthy: { http_statuses: [ 429, 500, 501, 502, 503, 504, 505 ] }, healthy: { http_statuses: [ 200, 302 ] }, type: http } }, hash_on_cookie_path: /, hash_fallback: none, slots: 10000 }, target: { tags: [ example, low-priority ], target: 192.168.1.10:5200, weight: 100 } }*注意配置节点 kong.target.target 这个值就是要注册到 Kong 网关的地址如果配置了这个过程是自动的否则需要手动指定客户端地址 上面的配置和 Kong 内部的 UpStream 完全一致在Kong 中怎么配置 UpStream 在 Kong.Net 中就怎么配置字段名称和类型完全平移。修改 startup.cs 服务注入和配置public void ConfigureServices(IServiceCollection services) { services.AddSingletonKongClient(fat { var options new KongClientOptions(HttpClientFactory.Create(), this.Configuration[kong:host]); var client new KongClient(options); return client; }); ... } public void Configure(IApplicationBuilder app, IHostingEnvironment env, KongClient kongClient) { app.UseKong(Configuration, kongClient); ... }到这里就配置完成可以启动了。自定义启动如果需要在系统启动的时候动态的传入服务地址参考下面的代码修改Program.cs为外部参数启动 public static IWebHostBuilder CreateWebHostBuilder(string[] args) { var config new ConfigurationBuilder().AddCommandLine(args).Build(); var url config[server.urls]; return WebHost.CreateDefaultBuilder(args) .UseStartupStartup() .UseUrls(url); }获得命令行传入的参数配置 --server.urls // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, KongClient kongClient) { UseKong(app, kongClient); ... } public void UseKong(IApplicationBuilder app, KongClient kongClient) { var upStream Configuration.GetSection(kong:upstream).GetUpStream(); var target Configuration.GetSection(kong:target).GetTargetInfo(); var uri new Uri(Configuration[server.urls]); target.Target uri.Authority; app.UseKong(kongClient, upStream, target); }到这里就大功告成了启动项目完成服务自动注册、健康检查输入命令dotnet run --server.urls http://172.16.10.227:5200上面绿色输出部分表示服务注册成功蓝色部分表示 Kong 正在执行对 Kong.Net 客户端的检查从运行情况来看已经完美运行成功了。健康检查使用 Kong.Extensions 客户端扩展包内部自动将健康检查地址设置为/kong/healthchecks然后在内部自动应答其代码实现为private static IApplicationBuilder UseKongHealthChecks(this IApplicationBuilder app, UpStream upStream) { app.Map(upStream.HealthChecks.Active.Http_path, s { s.Run(async context { Console.ForegroundColor ConsoleColor.Blue; Console.WriteLine(Healthchecks at: {0}, DateTime.Now); Console.ForegroundColor ConsoleColor.Gray; await context.Response.WriteAsync(ok); }); }); return app; }结束语拥抱开源的脚步我们从来都是一直在路上.NETCore作为后起之秀带给我们太多的惊喜和感动但是也正是由于年轻.NETCore 的生态还是不够完善这就非常需要我们社区的力量需要大家一起参与把开源社区好的工具、组件、应用接入到 .NETCore 应用中。项目地址https://github.com/lianggx/Kong.Net 你的支持使我们更加强大点击 star 让更多的 .NETCore 认识它从而能在 .NETCore 的路上更快速的前行。如果你非常喜欢这个项目想成为该项目的贡献者请及时联系博主我希望有更多的朋友加入进来毕竟一个人维护太难了。
http://www.zqtcl.cn/news/641476/

相关文章:

  • 做外链等于网站更新么台州椒江网站建设
  • 自己搭建一个博客网站网络营销是什么大类
  • 10元网站备案php企业网站开发实训报告
  • 建筑网站设计大全wordpress模板死循环
  • 网站优化排名软件泌阳网站建设
  • 网站反向绑定域名企业网站的建立网络虚拟社区时对于企业
  • 重庆大渡口网站建设解决方案梓潼 网站建设 有限公司
  • 高端平面网站东营住房和城乡建设厅网站
  • 品牌网站建设e小蝌蚪易时代网站
  • 做搜狗手机网站点击软网站建设有哪些种类
  • 想自学做网站太原要做网站的公司
  • 站内seo优化淘宝网站推广策划方案
  • 福建建设执业注册中心网站网址格式怎么写
  • 网站开发外包公司坑襄垣城乡建设管理局的网站
  • 网络公司怎么做网站常州新北区网站建设
  • 扬州专业外贸网站建设推广做详情页上什么网站找素材
  • 北京做网站设计招聘深圳市住房和建设局官网平台
  • 冻品网站建设网站头图设计
  • 手机网站分辨率做多大h5微网站建设多少钱
  • 网站制作软件下载公司怎么注册邮箱帐号
  • 做婚纱网站的图片园林设计
  • 濮阳公司建站淮北城市住建网
  • 建设银行网站打不开 显示停止工作专门做地图的网站
  • 有没有人一起做网站app网站建设方案
  • 洛阳网站建设兼职企业网站建设文案
  • 动漫制作贵州seo策略
  • asp网站建设项目实训该怎么跟程序员谈做网站
  • 网站软件资源iis不能新建网站
  • 网站设计的发展趋势西安市建设工程交易网
  • 做外贸收费的服装网站武钢建设公司网站