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项目的路由地址访问

kong整合Cosul实践(3)的更多相关文章

  1. 30分钟带你了解Springboot与Mybatis整合最佳实践

    前言:Springboot怎么使用想必也无需我多言,Mybitas作为实用性极强的ORM框架也深受广大开发人员喜爱,有关如何整合它们的文章在网络上随处可见.但是今天我会从实战的角度出发,谈谈我对二者结 ...

  2. SpringBoot整合Apache-CXF实践

    一.Apache CXF是什么? Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS . ...

  3. SpringMVC整合SpringFox实践总结

    项目中使用的swagger框架在生成api文档时存在一些问题: 1. 控制器下方法无法点击展开 2.api内容结构混乱 基于上述原因,重新整合重构了一下api文档生成的代码.在此将重整过程记录下来,方 ...

  4. SpringBoot整合RabbitMQ实践教程

    1. MQ   MQ(Message Queue),消息队列,是生产者和消费者模型中传递信息的容器,主要用于线程或进程之间通信.   MQ主要的应用场景为:应用解耦.异步处理,流量削锋,日志处理等. ...

  5. 【读书笔记】《Java Web整合开发实践》第3章 JSP

    1. JSP:Java Server Pages 2. JSP注释:<%--注释内容--%> 3. page指令(页面指令):定义JSP页面的全局属性. <%@ page langu ...

  6. 一个快速、完善的Android开发框架整合实践(QuickAndroid)

    https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndr ...

  7. 【Spring Cloud】Spring Cloud之整合Spring Cloud Bus以及最佳实践

    一.整合步骤 1)加入Maven坐标 <!-- actuator监控模块 --> <dependency> <groupId>org.springframework ...

  8. 《Spring Boot 入门及前后端分离项目实践》系列介绍

    课程计划 课程地址点这里 本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发 ...

  9. 【k8s部署kong一】kong k8s 安装 以及可视化管理界面

    官方安装:https://getkong.org/install/kubernetes/ 扩展讲解:https://blog.fleeto.us/post/intro-kong/ 提示:本文是在k8s ...

随机推荐

  1. 阿里云服务器安装mysql数据库及连接使用

    第一步:安装mysql 我个人是申请的阿里云ecs服务器CentOs操作系统,由于是初装咱们直接进行安装 1.首先从官网下载安装mysql-serve  # wget http://dev.mysql ...

  2. 为什么使用 LSTM 训练速度远大于 SimpleRNN?

    今天试验 TensorFlow 2.x , Keras 的 SimpleRNN 和 LSTM,发现同样的输入.同样的超参数设置.同样的参数规模,LSTM 的训练时长竟然远少于 SimpleRNN. 模 ...

  3. QT从入门到入土(三)——文件的读写操作

     引言 文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处 理而开发的,所以文件读写是应用程序开发的一个基本功能. Qt 提供了两种读写纯文本文件的基本方法: 用 QFi ...

  4. 「AGC010F」 Tree Game

    「AGC010F」 Tree Game 传送门 切了一个 AGC 的题,很有精神. 于是决定纪念一下. 首先如果任意一个人在点 \(u\),他肯定不会向点权大于等于 \(a_u\) 的点走的,因为此时 ...

  5. Django基础-002 Models的属性与字段

    1.models字段类型 AutoField():一个IntegerField,根据可用ID自动递增.如果没指定主键,就创建它自动设置为主键. IntegerField():一个整数: FloatFi ...

  6. c语言:逗号运算符

    #include <stdio.h> main() { int a,s,d; s=2,d=3; a=12+(s+2,d+4); printf("%d\n",a); in ...

  7. 家庭账本开发day11

    编写登录界面和个人信息查看界面 $.ajax({                    url: "UserServlet?method=login",//url          ...

  8. 单细胞分析实录(17): 非负矩阵分解(NMF)代码演示

    本次演示使用的数据来自2017年发表于Cell的头颈鳞癌单细胞文章:Single-Cell Transcriptomic Analysis of Primary and Metastatic Tumo ...

  9. 部署springboot时出现的问题

    一.打包出现问题 后经发现是因为maven的打包插件的版本问题,需要修改版本 <plugins> <plugin> <groupId>org.springframe ...

  10. 微信小程序云开发-云存储的应用-识别营业执照

    一.准备工作 1.创建云函数identify 二.云函数identify中index.js代码 1 // 云函数入口文件 2 const cloud = require('wx-server-sdk' ...