自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 golang开源的Gateway网关,目前支持http/https协议。

hgw【http-reverse_proxy, http/https-gateway,hot-reload】https://github.com/dmhao/hgwhgw是由gateway网关服务、manager控制服务构成的一套轻量级网关系统。目前支持http/https协议的服务控制。hgw通过【ETCD】存储服务数据,状态监控。功能反向代理黑名单访问日志限流熔断 【错误...

2018-12-04 09:17:50 14987 1

原创 confd 模板自动生成配置,安装使用介绍

confd 配置生成工具,安装方便linux环境直接下载二进制包就可以使用。可以结合 (etcd/consul/vault/environment variables/redis/zookeeper/dynamodb/rancher/ssm)本文介绍与etcd的结合使用方法1.下载confdmkdir -p /usr/local/confd/wget https://git...

2018-08-21 15:04:32 2194

原创 cookie和session的区别以及session的实现原理

记得以前面试会有被问到session和cookie的区别,今天咱们梳理下cookie和session到底有什么区别。常见解释:session 在服务器端,cookie 在客户端(浏览器) session 默认被存在在服务器的一个文件里(不是内存) session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了...

2018-08-21 15:03:27 5894

原创 通过nginx 动态加载stream模块

Ngix1.9.11开始增加加载动态模块支持,从此不再需要替换nginx文件即可增加第三方扩展。目前官方只有几个模块支持动态加载,第三方模块需要升级支持才可编译成模块。 我们测试下通过nginx动态加载模块,添加stream模块实现tcp 反向代理功能。查看支持./configure --help | grep dynamic --with-http_xslt_module=...

2018-08-21 15:02:48 24900 9

原创 docker 快速部署lnmp开发环境

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中。我们通过部署lnmp环境,制作php镜像,来熟悉怎么快速的利用docker部署开发环境。nginx部署1.创建服务运行网络docker network create -d bridge my-net2.nginx镜像下载docker pull hub.c.163...

2018-08-21 15:02:07 955

原创 gin框架中结合gorilla实现webSocket

gin框架写rest接口特别6,性能也很好。 本文介绍一下gin和gorilla结合创建websocket1. gingithub地址:https://github.com/gin-gonic/gin安装gin的代码包go get github.com/gin-gonic/ginpackage main import ( "github.com/...

2018-08-21 15:01:02 9295

原创 golang json.Marshal 特殊html字符被转义解决方案

go语言提供了json的编解码包,json字符串作为参数值传输时发现,json.Marshal生成json特殊字符<、>、&会被转义。type Test struct { Content string}func main() { t := new(Test) t.Content = "http://www.baidu.com?id=1...

2018-08-09 12:01:43 12553 1

原创 六、go-kit微服务请求跟踪介绍

介绍go-kit 提供了两种tracing请求跟踪1、opentracing【跟踪标准】2、zipkin【zipkin的go封装】 我们下面来介绍下zipkin在go-kit中的使用方法。zipkin安装启动1、 java -version 现在安装zipkin,必须使用java8(即java-1.8.0-openjdk)2、 wget -O zipkin.jar ‘...

2018-08-09 12:00:20 2945 2

原创 五、go-kit微服务熔断机制

介绍go-kit 提供了三种熔断1、 gobreaker2、 handy3、 hystrix-gohystrix在java中用的比较多,我们来介绍下go-kit中hystrix的使用方法go-kit的hystrixMiddleware的实现1、 Hystrix返回Middleware 此中间件会在原来的endPoint包一层Hystrix的endPoint...

2018-08-09 11:59:27 4140

原创 InfluxDB、Grafana 与 influxdata其它软件,构建性能监控平台

介绍Telegraf 类似agent,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库InfluxDB 时序数据库Chronograf web控制面板Kapacitor 监控报警,处理时序数据安装https://portal.influxdata.com/downloadsInfluxDBwget https://dl.influxdata...

2018-08-09 11:57:52 1264

原创 mysql 导入数据 [Err] 1067 - Invalid default value for 'addtime'

今日测试环境导入数据库,报出了sql错误。[Err] 1067 - Invalid default value for 'addtime'[Err] /*Navicat MySQL Data TransferDate: 2018-06-12 12:00:41*/SET FOREIGN_KEY_CHECKS=0;-- -----------------------------...

2018-08-09 11:56:00 5709 1

原创 Let's Encrypt证书生成,certbot-auto 生成ssl通用证书 配置https 自动续期

Let’s Encrypt是一个 CA 机构,但这个 CA 机构是免费的!!!签发证书不需要任何费用, 为了实现通配符证书,Let’s Encrypt 对 ACME 协议的实现进行了升级,只有 v2 协议才能支持通配符证书。https://certbot.eff.org/ 证书生成工具, 我们可以通过网站选择对应的系统软件来生成。我们通过certbot-auto自动生成工具来操作。...

2018-08-09 11:55:03 12279 7

原创 gin框架自定义日志输出,自定义gin中间件扩展Logger

gin框架是款高性能的GoWeb框架,可以快速开发部署api服务。在使用过程中我们需要记录各种各样的日志,下面介绍下我们怎么自定义日志记录格式或扩展日志。gin简单剖析api服务创建package mainimport "github.com/gin-gonic/gin"func main() { r := gin.Default() r.GET("...

2018-08-09 11:53:41 23318

转载 四、 go-kit 微服务的限流实现

四、 go-kit 微服务的限流实现介绍go-kit提供了限流模块,该模块采用令牌桶算法实现,其实是封装了一下golang自带的golang.org/x/time/rate包来实现的。令牌桶令牌桶这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。令牌桶中的每一个令牌都代表一个字节。如果令牌桶中存在令牌,则允许发送流量;而如果令牌桶中不存在令牌,则不允许发送流量。因...

2018-05-02 15:11:49 2365

转载 三、go-kit 与 grpc 结合实现注册发现与负载均衡

三、go-kit 与 grpc 结合实现注册发现与负载均衡介绍grpc提供了简单的负载均衡,需要自己实现服务发现resolve。我们既然要使用go-kit来治理微服务,那么我们就使用go-kit的注册发现、负载均衡机制。go-kit官方【stringsvc3】例子中使用的负载均衡方案是通过服务端转发进行,翻找下源码go-kit的服务注册发现、负载均衡在【sd】包中。下面我们介绍怎么通过...

2018-05-02 14:48:56 5206 2

转载 二、go-kit 与 grpc 结合开发微服务

二、go-kit 与 grpc 结合开发微服务介绍go-kit 是一个微服务的开发工具集,微服务系统中的大多数常见问题,因此,使用者可以将精力集中在业务逻辑上。grpc缺乏服务治理的功能,我们可以通过go-kit结合grpc来实现我们的完整需求。go-kit抽象的endpoint设计让我们可以很容易包装其它微服务框架使用的协议。go-kit提供以下功能:1、Circuit br...

2018-05-02 14:47:17 7917

转载 一、 go 语言编写 grpc 微服务实例

一、go 语言编写 grpc 微服务实例grpcgrpc跨平台微服务框架,但是缺少服务治理的功能,服务发现给出了架子需要自己实现。go包下载go get -u google.golang.org/grpcproto工具下载1、下载idl代码生成工具https://repo1.maven.org/maven2/com/google/protobuf/proto...

2018-05-02 14:45:55 3352 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除