一、kong

1、使用kong来做服务网关,目前kong使用的是0.13版本现在地址:https://docs.konghq.com/install,kong的社区版没有dashboard,可以使用kong-dashboard,项目地址:https://github.com/PGBI/kong-dashboard。方便使用和管理。目前kong还不支持直接代理grpc,nginx-1.13.10以后版本开始支持代理grpc。kong0.13使用的是1.13.6,以后会支持grpc代理。

2、简单安装使用

使用yum安装,设置repo:

# cat kong.repo
[kong]
name=kong
baseurl=https://kong.bintray.com/kong-community-edition-rpm/centos/7
gpgcheck=0
enabled=1

#yum -y install  kong

@配置kong:

Kong supports both PostgreSQL 9.5+ and Cassandra 3.x.x as its datastore.

本次使用的是postgresql9.5.需要提前安装,使用yum安装,配置repo:

#cat pgdg-95-redhat.repo
[pgdg95]
name=PostgreSQL 9.5 $releasever - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-95

[pgdg95-source]
name=PostgreSQL 9.5 $releasever - $basearch - Source
failovermethod=priority
baseurl=https://download.postgresql.org/pub/repos/yum/srpms/9.5/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-95

#yum install postgresql95-server postgresql95-contrib

@初始化数据库
# /usr/pgsql-9.5/bin/postgresql95-setup initdb 
# systemctl enable postgresql-9.5.service
# systemctl start postgresql-9.5.service
 
@PostgreSQL数据库默认会创建一个linux系统用户postgres,通过passwd命令可设置系统用户的密码:
# echo "postgres" | passwd --stdin postgres
 
@修改PostgresSQL数据库配置实现远程访问:
修改postgresql.conf文件:
# vi /var/lib/pgsql/9.5/data/postgresql.conf

将listen_addresses='localhost'修改为listen_addresses='*'

@修改客户端认证配置文件pg_hba.conf:
将需要远程访问数据库的IP地址或地址段加入该文件。

将ipv4区下的127.0.0.1/32修改为0.0.0.0/0,将ident修改为md5。

#ipv4 local connections

host all all 0.0.0.0/0 md5
 
@创建账号和数据库
# su – postgres
    #bash发生变化,变成了-bash-4.2$
-bash-4.2$ createdb kong
-bash-4.2$ createser kong
-bash-4.2$ psql 
postgres=# \password kong
输入新的密码:
再次输入:
postgres=# alter database kong owner to kong;
postgres=# \q
@连接posqtsql
-bash-4.2$ psql -d kong -U kong -h 127.0.0.1 –W     
 
3、配置kong

proxy_access_log = /data/kong/logs/access.log
proxy_error_log = /data/kong/logs/error.log
admin_access_log = /data/kong/logs/admin_access.log
admin_error_log = /data/kong/logs/admin_error.log
proxy_listen = 10.10.29.43:8000, 10.10.29.43:8443 ssl
admin_listen = 10.10.29.43:8001, 10.10.29.43:8444 ssl
database = postgres
pg_host = 10.10.29.43
pg_port = 5432
pg_user = kong
pg_password = kong
pg_database = kong
dns_resolver = 10.42.11.101,10.42.12.247,10.42.5.28,10.42.3.96
dns_order = SRV,A,CNAME

 
dns_resolver的地址是consul的地址。consul启动的时候指定dns的port为53.
 
 
4、启动kong
#kong migrations up     ##执行一次
#kong start
 
代理访问地址: http://10.10.29.43:8000
如果使用https的,需要访问地址:http://10.10.29.43:8443
 
5、kong dashboard

cat /usr/sbin/kong-dashboard
#!/bin/bash

nohup docker run -p 8081:8080 pgbi/kong-dashboard start --kong-url http://10.10.29.43:8001 --basic-auth huoqiu=hqkong &

二、consul

http://www.cnblogs.com/cuishuai/p/8194345.html

微服务之kong+consul(二)的更多相关文章

  1. .NET Core微服务一:Consul服务中心

    本文的项目代码,在文章结尾处可以下载. 防爬虫,本文的网址是:https://www.cnblogs.com/shousiji/p/12253295.html 本文使用的环境:Windows10 64 ...

  2. 通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解

    首先感谢张队@geffzhang公众号转发了上一篇文章,希望广大.neter多多推广dapr,让云原生更快更好的在.net这片土地上落地生根. 目录:一.通过Dapr实现一个简单的基于.net的微服务 ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统(二十)——Saga框架实现思路分享

    今天这篇博文的主要目的是分享一下我设计Saga的实现思路来抛砖引玉,其实Saga本身非常的类似于一个简单的工作流体系,相比工作流不一样的部分在于它没有工作流的复杂逻辑处理机制(比如会签),没有条件分支 ...

  4. .NET Core微服务之基于Consul实现服务治理

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Consul基础介绍 Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发 ...

  5. .NET Core微服务之基于Consul实现服务治理(续)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 上一篇发布之后,很多人点赞和评论,不胜惶恐,这一篇把上一篇没有弄到的东西补一下,也算是给各位前来询问的朋友的一些回复吧. 一.Consul ...

  6. 1、微服务--为什么有consul,consul注册,心跳检测,服务发现

    一.为什么有consul? 在微服务,每1个服务都是集群式的,订单服务在10台服务器上都有,那么用户的请求到达,获取哪台服务器的订单服务呢?如果10台中的有的订单服务挂了怎么办?10台服务器扛不住了, ...

  7. 从壹开始微服务 [ DDD ] 之十二 ║ 核心篇【下】:事件驱动EDA 详解

    缘起 哈喽大家好,又是周二了,时间很快,我的第二个系列DDD领域驱动设计讲解已经接近尾声了,除了今天的时间驱动EDA(也有可能是两篇),然后就是下一篇的事件回溯,就剩下最后的权限验证了,然后就完结了, ...

  8. Spring Cloud 微服务一:Consul注册中心

    Consul介绍 Consul is a service mesh solution providing a full featured control plane with service disc ...

  9. Python微服务实践-集成Consul配置中心

    A litmus test for whether an app has all config correctly factored out of the code is whether the co ...

随机推荐

  1. JAVA本地读取文件,解决中文乱码问题

    JAVA本地读取文件出现中文乱码,查阅一个大神的博客做一下记录 import java.io.BufferedInputStream;import java.io.BufferedReader;imp ...

  2. Trie树的数组实现原理

    Trie(Retrieval Tree)又称前缀树,可以用来保存多个字符串,并且非常便于查找.在trie中查找一个字符串的时间只取决于组成该串的字符数,与树的节点数无关.因此,它的查找速度通常比二叉搜 ...

  3. AngularJS 表单数据验证及错误信息提示

    一.表单验证基本原理 表单验证包括两个主题: 定义验证规则,验证数据有效性. 显示验证结果,把验证结果以友好的方式显示给用户. H5内置一些验证功能,并会显示内置的错误提示信息,先要禁用它,在< ...

  4. JMS学习以及jms的实现activeMq

    1.JMS规范介绍: http://www.cnblogs.com/hapjin/p/5431706.html http://elim.iteye.com/blog/1893038 http://bl ...

  5. !!! no internal routing support, rebuild with pcre support !!!

    sudo apt-get install libpcre3 libpcre3-dev sudo pip install uwsgi -I --no-cache-dir

  6. 在我朝如何为Brackets安装扩展?

    Brackets是Adobe发起的一个开源的HTML编辑器,界面优美简洁.扩展丰富.支持基于Chrome浏览器的实时预览,非常适合对于Web的开发和学习. 但是Brackets的安装包下载和扩展下载, ...

  7. 《Python黑帽子:黑客与渗透测试编程之道》 Windows系统提权

    环境准备: pywin32的安装在第八章的键盘记录中有,这里还需要安装wmi: 在本人的32位win7上本来是没有easy_install这个命令的,这需要安装setuptools-0.6c11.wi ...

  8. .NET Core 从1.1升级到2.0记录(Cookie中间件踩坑)

    .NET Core 2.0 新时代 万众瞩目的.NET Core 2.0终于发布了,原定于9.19的dotnetconf大会的发布时间大大提前了1个月,.NET Core 2.0/.NET Stand ...

  9. Windows Phone开发手记-WinRT下自定义圆形ItemsControl

    这里的ItemsControl指的是Xaml里的集合控件,包括ListView,GridView等,此篇博客主要参考MSDN Blog的一篇文章,具体出处为:http://blogs.msdn.com ...

  10. 上台阶问题(递归,DFS)

    题目 一共39层台阶.如果我每一步迈上1个台阶或者两个台阶,先迈左脚,再迈右脚,然后左右交换,最后一步迈右脚,也就是一共要走偶数步,那么,上完39级台阶,有多少种不同的方法? 思路 采用递归的思想,边 ...