1. 准备工作:

  • 需要.netcore或者java程序一套,引入consul第三方包

    我这里搭建了一个.netcore的webapi项目,引入Consul第三方包,网上可查资料一堆

  • 环境需要kong,konga管理平台,consul

2. 运行程序,注册服务到consul端

  • 找到项目调试debug目录(E:\PersonalProject\Netcore\coreApp3.1\coreApp3.1\bin\Debug\netcoreapp3.1>)

    使用powershell命令,启动程序:

    启动APP1:

    dotnet coreApp3.1.dll --urls="http://:6000" -- ip="192.168.1.6" --port=6000 --weight=10

    启动APP2:

    dotnet coreApp3.1.dll --urls="http://
    :6001" -- ip="192.168.1.6" --port=6001 --weight=10

    进入consul客户端,查看注册services(http://192.168.231.132:8500/)

    使用postman请求webapi,返回正常

3. 通过konga管理工具,配置kong网关信息

  • 查找Consul DNS轮询服务:
      dig @192.168.231.132 -p 8600 xujk.service.dc1.consul ANY
    dig @192.168.231.132 -p 8600 xujk.service.consul ANY

    备注:xujk.service.dc1.consul

    格式:【servicename】.【nodename】.【datacenter】.consul

  • 进入Konga管理端,添加Services



  • 给services添加Route信息



    通过http://192.168.231.132:8000/health请求,查看结果

    备注:实际上,Kong网关帮我们路由到了http://192.168.1.6/api/health/getTest

4. 上面操作只路由到了单个api,下面配置路由到项目,可通过项目的api路径访问

  • 添加一个service



    备注:其中的xujk.service.consul,就是上面我们用dig命令查找的服务名称

  • 添加一个Route

  • 通过Kong网关路由访问api:

    通过url:http://192.168.231.132:8000/dns/api/health/getTest访问,其中/api/health/getTest是webapi项目中的路由

  • 测试端口6000节点挂机

  • 通过postman请求,发现还是可以访问的,因为端口6001的api还提供服务

  • 如果两个节点都挂掉,那会提示找不到服务的提示

  • 访问该app下所有的路由,可以通过http://192.168.231.132:8000/dns/ + app项目的路由地址访问

最新文章

  1. POI完美解析Excel数据到对象集合中(可用于将EXCEL数据导入到数据库)
  2. keyCode,charCode,which
  3. HTC Vive 与Leap Motion 出现位置错误的问题
  4. mongoDb学习以及spring管理
  5. 【TYVJ】1467 - 通向聚会的道路(spfa+特殊的技巧)
  6. python 线程使用
  7. ssh key报but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT!错误
  8. javascript 中 "!function(){}() " 是什么意思?
  9. UVA 10534最长上升子序列运用
  10. 渐进式Web应用程序的深入概述
  11. ASP.NET MVC5使用Area区域
  12. 后端编程语言PHP
  13. 深度学习方法(十二):卷积神经网络结构变化——Spatial Transformer Networks
  14. python中的各种符号
  15. 20179205《Linux内核原理与分析》第一周作业
  16. java如何调用接口
  17. 【洛谷5287】[HNOI2019] JOJO(主席树优化KMP)
  18. 【转载】IE下利用滤镜实现背景颜色渐变
  19. 算法学习记录-图(DFS BFS)
  20. 大数据学习——linux常用命令(二)

热门文章

  1. Netty 框架学习 —— UDP 广播
  2. 初识Sonarqube
  3. 用阻塞队列实现一个生产者消费者模型?synchronized和lock有什么区别?
  4. 初入web前端---实习(职场菜鹏)
  5. 暑假自学java第二天
  6. Linux:CentOS-7配置VMware-15.5与本机IP同网段
  7. shiro框架基础
  8. JavaWeb中Servlet和Jsp跳转路径的写法
  9. C语言:虚拟地址 和编译模式
  10. MySQL中的redo log和undo log