kong整合Cosul实践(3)
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)的更多相关文章
- 30分钟带你了解Springboot与Mybatis整合最佳实践
前言:Springboot怎么使用想必也无需我多言,Mybitas作为实用性极强的ORM框架也深受广大开发人员喜爱,有关如何整合它们的文章在网络上随处可见.但是今天我会从实战的角度出发,谈谈我对二者结 ...
- SpringBoot整合Apache-CXF实践
一.Apache CXF是什么? Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS . ...
- SpringMVC整合SpringFox实践总结
项目中使用的swagger框架在生成api文档时存在一些问题: 1. 控制器下方法无法点击展开 2.api内容结构混乱 基于上述原因,重新整合重构了一下api文档生成的代码.在此将重整过程记录下来,方 ...
- SpringBoot整合RabbitMQ实践教程
1. MQ MQ(Message Queue),消息队列,是生产者和消费者模型中传递信息的容器,主要用于线程或进程之间通信. MQ主要的应用场景为:应用解耦.异步处理,流量削锋,日志处理等. ...
- 【读书笔记】《Java Web整合开发实践》第3章 JSP
1. JSP:Java Server Pages 2. JSP注释:<%--注释内容--%> 3. page指令(页面指令):定义JSP页面的全局属性. <%@ page langu ...
- 一个快速、完善的Android开发框架整合实践(QuickAndroid)
https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndr ...
- 【Spring Cloud】Spring Cloud之整合Spring Cloud Bus以及最佳实践
一.整合步骤 1)加入Maven坐标 <!-- actuator监控模块 --> <dependency> <groupId>org.springframework ...
- 《Spring Boot 入门及前后端分离项目实践》系列介绍
课程计划 课程地址点这里 本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发 ...
- 【k8s部署kong一】kong k8s 安装 以及可视化管理界面
官方安装:https://getkong.org/install/kubernetes/ 扩展讲解:https://blog.fleeto.us/post/intro-kong/ 提示:本文是在k8s ...
随机推荐
- 【Java集合】ArrayList源码分析
ArrayList是日常开发中经常使用到的集合,其底层采用数组实现,因此元素按序存放.其优点是可以使用下标来访问元素,时间复杂度是O(1).其缺点是删除和增加操作需要使用System.arraycop ...
- Java:Java多线程实现性能测试
创建多线程和线程池 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import ...
- 记一次Struts中文乱码
起因 最近公司一个智能家具的项目,需要开发后端,APP/WEB的所有请求通过HTPP发送到后台,后台通过socket连接到智能设备.公司只有一个Java技术栈的同事,而他负责设备方面,我只能赶鸭子上架 ...
- linux 之sed用法
sed:Stream Editor文本流编辑,sed是一个"非交互式的"面向字符流的编辑器.在使用sed处理时,它把当前处理的行存储在临时缓冲区中,称为"模式空间&quo ...
- ES6 箭头函数你正确使用了吗
ES6 箭头函数你正确使用了吗 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 在ES6中允许使用"箭头&quo ...
- ARTS起始篇
ARTS简要说明(每周需要完成以下四项): Algorithm:每周至少做一道 leetcode 的算法题,编程训练.刻意练习. Review:需要阅读并点评至少一篇英文技术文章,这个是四项里面对我最 ...
- k8s之deployment详解
Deployment介绍 为了更好地解决服务编排的问题,k8s在V1.2版本开始,引入了deployment控制器,值得一提的是,这种控制器并不直接管理pod, 而是通过管理replicaset来间接 ...
- C语言:预处理命令总结
预处理指令是以#号开头的代码行,# 号必须是该行除了任何空白字符外的第一个字符.# 后是指令关键字,在关键字和 # 号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行 ...
- Java程序设计当堂测试感受
开学第一周的周四,按照王主任的安排,进行了Java当堂测试,来检测暑假八周的学习成果.这一堂课真是让我哭笑不得,这一节课三个小时都在写代码,感觉暑假学的一点点代码什么都不是,写一个系统都完不成,感觉自 ...
- OpenFaaS实战之二:函数入门
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...