-
Notifications
You must be signed in to change notification settings - Fork 0
/
algolia.json
1 lines (1 loc) · 50.1 KB
/
algolia.json
1
[{"author":null,"categories":null,"content":null,"date":1546992000,"description":"","dir":"post/","excerpt_html":null,"excerpt_text":null,"expirydate":-62135596800,"fuzzywordcount":1000,"html":null,"keywords":null,"kind":"page","lang":"en","lastmod":1546992000,"objectID":"2f05902e7435de187bb5303fb74f55e2","permalink":"https://www.zhouzhoukl.com/post/readme/","publishdate":"2019-01-09T00:00:00Z","readingtime":2,"relpermalink":"/post/readme/","section":"post","summary":"Clean White Theme for Hugo CleanWhite is a clean, elegant, but fully functional blog theme for Hugo. Here is a live demo site using this theme. It is based on huxblog Jekyll Theme and Clean Blog Jekyll Theme. These two upstream projects have done awesome jobs to create a blog theme, what I\u0026rsquo;m doing here is porting it to Hugo, of which I like the simplicity and the much faster","tags":null,"title":"Clean White Theme for Hugo","type":"post","url":"/post/readme/","weight":0,"wordcount":953},{"author":null,"categories":["Tech"],"content":"介绍Istio v1alpha3 routing API及其设计原则","date":1528070400,"description":"介绍Istio v1alpha3 routing API及其设计原则","dir":"post/","excerpt_html":"介绍Istio v1alpha3 routing API及其设计原则","excerpt_text":"介绍Istio v1alpha3 routing API及其设计原则","expirydate":-62135596800,"fuzzywordcount":5500,"html":"介绍Istio v1alpha3 routing API及其设计原则","keywords":null,"kind":"page","lang":"en","lastmod":1528070400,"objectID":"419548ad13183dac6d96760c9815824b","permalink":"https://www.zhouzhoukl.com/2018/06/04/introducing-the-istio-v1alpha3-routing-api/","publishdate":"2018-06-04T00:00:00Z","readingtime":11,"relpermalink":"/2018/06/04/introducing-the-istio-v1alpha3-routing-api/","section":"post","summary":"\u003cp\u003e到目前为止,Istio提供了一个简单的API来进行流量管理,该API包括了四种资源:RouteRule,DestinationPolicy,EgressRule和Ingress(直接使用了Kubernets的Ingress资源)。借助此API,用户可以轻松管理Istio服务网格中的流量。该API允许用户将请求路由到特定版本的服务,为弹性测试注入延迟和失败,添加超时和断路器等等,所有这些功能都不必更改应用程序本身的代码。\u003c/p\u003e","tags":["Istio"],"title":"Istio v1aplha3 routing API介绍(译文)","type":"post","url":"/2018/06/04/introducing-the-istio-v1alpha3-routing-api/","weight":0,"wordcount":5412},{"author":null,"categories":["Tech"],"content":"在6月1日这一天的早上,Istio社区宣布发布0.8 Release,除了常规的故障修复和性能改进外,这个儿童节礼物里面还有什么值得期待内容呢?让我们来看一看:","date":1527897600,"description":"在6月1日这一天的早上,Istio社区宣布发布0.8 Release,除了常规的故障修复和性能改进外,这个儿童节礼物里面还有什么值得期待内容呢?让我们来看一看:","dir":"post/","excerpt_html":"在6月1日这一天的早上,Istio社区宣布发布0.8 Release,除了常规的故障修复和性能改进外,这个儿童节礼物里面还有什么值得期待内容呢?让我们来看一看:","excerpt_text":"在6月1日这一天的早上,Istio社区宣布发布0.8 Release,除了常规的故障修复和性能改进外,这个儿童节礼物里面还有什么值得期待内容呢?让我们来看一看:","expirydate":-62135596800,"fuzzywordcount":1800,"html":"在6月1日这一天的早上,Istio社区宣布发布0.8 Release,除了常规的故障修复和性能改进外,这个儿童节礼物里面还有什么值得期待内容呢?让我们来看一看:","keywords":null,"kind":"page","lang":"en","lastmod":1527897600,"objectID":"5419b65011b3dcb9020c0728e6d70695","permalink":"https://www.zhouzhoukl.com/2018/06/02/istio08/","publishdate":"2018-06-02T00:00:00Z","readingtime":4,"relpermalink":"/2018/06/02/istio08/","section":"post","summary":"\u003cblockquote\u003e\n\u003cp\u003e在6月1日这一天的早上,Istio社区宣布发布0.8 Release,除了常规的故障修复和性能改进外,这个儿童节礼物里面还有什么值得期待内容呢?让我们来看一看:\u003c/p\u003e\n\u003c/blockquote\u003e","tags":["Istio"],"title":"Istio 0.8 Release发布","type":"post","url":"/2018/06/02/istio08/","weight":0,"wordcount":1796},{"author":null,"categories":["Tips"],"content":"Everything about setting up my own ubuntu desktop, it's just a Note in case I need it later","date":1527120000,"description":"Everything about setting up my own ubuntu desktop, it's just a Note in case I need it later","dir":"post/","excerpt_html":"Everything about setting up my own ubuntu desktop, it's just a Note in case I need it later","excerpt_text":"Everything about setting up my own ubuntu desktop, it's just a Note in case I need it later","expirydate":-62135596800,"fuzzywordcount":200,"html":"Everything about setting up my own ubuntu desktop, it's just a Note in case I need it later","keywords":null,"kind":"page","lang":"en","lastmod":1527120000,"objectID":"acef740336515250f115284b46f1f096","permalink":"https://www.zhouzhoukl.com/2018/05/24/set_up_my_ubuntu_desktop/","publishdate":"2018-05-24T00:00:00Z","readingtime":1,"relpermalink":"/2018/05/24/set_up_my_ubuntu_desktop/","section":"post","summary":"Generate SSH Key Pair ssh-keygen -C \u0026#34;[email protected]\u0026#34; Shadowsocks Install shadowsokcs sudo apt-get install python3-pip sudo pip3 install shadowsocks Create config at config/shadowsocks.json, with the following content: { \u0026#34;server\u0026#34;:\u0026#34;remote-shadowsocks-server-ip-addr\u0026#34;, \u0026#34;server_port\u0026#34;:443, \u0026#34;local_address\u0026#34;:\u0026#34;127.0.0.1\u0026#34;, \u0026#34;local_port\u0026#34;:1080, \u0026#34;password\u0026#34;:\u0026#34;your-passwd\u0026#34;, \u0026#34;timeout\u0026#34;:300, \u0026#34;method\u0026#34;:\u0026#34;aes-256-cfb\u0026#34;, \u0026#34;fast_open\u0026#34;:false, \u0026#34;workers\u0026#34;:1 } Start a local socks proxy sudo sslocal -c config/shadowsocks.json -d start In case there is an openssl error, modify shadowsocks source file. sudo vi /usr/local/lib/python3.6/dist-packages/shadowsocks/crypto/openssl.py :%s/cleanup/reset/gc Convert shadowsocks socks proxy to http proxy","tags":["ubuntu"],"title":"Everything about Setting Up My Ubuntu Desktop","type":"post","url":"/2018/05/24/set_up_my_ubuntu_desktop/","weight":0,"wordcount":121},{"author":null,"categories":["Tech"],"content":"一些外部的第三方系统可能需要访问系统内部的微服务。例如在网上商店的例子中,外部的推荐服务可能需要接入系统,以获取商店的商品目录信息。相对于内部服务之间的访问而言,外部系统的访问需要进行严格的安全控制。","date":1527098400,"description":"一些外部的第三方系统可能需要访问系统内部的微服务。例如在网上商店的例子中,外部的推荐服务可能需要接入系统,以获取商店的商品目录信息。相对于内部服务之间的访问而言,外部系统的访问需要进行严格的安全控制。","dir":"post/","excerpt_html":"一些外部的第三方系统可能需要访问系统内部的微服务。例如在网上商店的例子中,外部的推荐服务可能需要接入系统,以获取商店的商品目录信息。相对于内部服务之间的访问而言,外部系统的访问需要进行严格的安全控制。","excerpt_text":"一些外部的第三方系统可能需要访问系统内部的微服务。例如在网上商店的例子中,外部的推荐服务可能需要接入系统,以获取商店的商品目录信息。相对于内部服务之间的访问而言,外部系统的访问需要进行严格的安全控制。","expirydate":-62135596800,"fuzzywordcount":2400,"html":"一些外部的第三方系统可能需要访问系统内部的微服务。例如在网上商店的例子中,外部的推荐服务可能需要接入系统,以获取商店的商品目录信息。相对于内部服务之间的访问而言,外部系统的访问需要进行严格的安全控制。","keywords":null,"kind":"page","lang":"en","lastmod":1527098400,"objectID":"bcf92db93ffdd43ba91e4322cf6c6ece","permalink":"https://www.zhouzhoukl.com/2018/05/23/external_system_auth/","publishdate":"2018-05-23T18:00:00Z","readingtime":5,"relpermalink":"/2018/05/23/external_system_auth/","section":"post","summary":"外部系统访问控制 除用户访问和微服务之间的相互访问外,外部的第三方系统也可能需要访问系统内部的微服务。例如在上一篇博客的网上商店例子中,外部的","tags":["Microservice","Security"],"title":"微服务安全沉思录之三","type":"post","url":"/2018/05/23/external_system_auth/","weight":0,"wordcount":2340},{"author":null,"categories":["Tech"],"content":"除来自用户的访问请求以外,微服务应用中的各个微服务相互之间还有大量的访问,根据应用系统数据敏感程度不同,对于系统内微服务的访问也需要进行相应的安全控制。","date":1527087600,"description":"除来自用户的访问请求以外,微服务应用中的各个微服务相互之间还有大量的访问,根据应用系统数据敏感程度不同,对于系统内微服务的访问也需要进行相应的安全控制。","dir":"post/","excerpt_html":"除来自用户的访问请求以外,微服务应用中的各个微服务相互之间还有大量的访问,根据应用系统数据敏感程度不同,对于系统内微服务的访问也需要进行相应的安全控制。","excerpt_text":"除来自用户的访问请求以外,微服务应用中的各个微服务相互之间还有大量的访问,根据应用系统数据敏感程度不同,对于系统内微服务的访问也需要进行相应的安全控制。","expirydate":-62135596800,"fuzzywordcount":2000,"html":"除来自用户的访问请求以外,微服务应用中的各个微服务相互之间还有大量的访问,根据应用系统数据敏感程度不同,对于系统内微服务的访问也需要进行相应的安全控制。","keywords":null,"kind":"page","lang":"en","lastmod":1527087600,"objectID":"d7d93ee7d2a2b13ec20c157389fd7a3a","permalink":"https://www.zhouzhoukl.com/2018/05/23/service_2_service_auth/","publishdate":"2018-05-23T15:00:00Z","readingtime":4,"relpermalink":"/2018/05/23/service_2_service_auth/","section":"post","summary":"\u003ch2 id=\"服务间认证与鉴权\"\u003e服务间认证与鉴权\u003c/h2\u003e\n\u003cp\u003e除来自用户的访问请求以外,微服务应用中的各个微服务相互之间还有大量的访问,包括下述场景:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e用户间接触发的微服务之间的相互访问\u003c!-- raw HTML omitted --\u003e\n例如在一个网上商店应用中,用户访问购物车微服务进行结算时,购物车微服务可能需要访问用户评级微服务获取用户的会员级别,以得到用户可以享受购物折扣。\u003c/li\u003e\n\u003cli\u003e非用户触发的微服务之间的相互访问\u003c!-- raw HTML omitted --\u003e\n例如数据同步或者后台定时任务导致的微服务之间的相互访问。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e根据应用系统的数据敏感程度的不同,对于系统内微服务的相互访问可能有不同的安全要求。\u003c/p\u003e","tags":["Microservice","Security"],"title":"微服务安全沉思录之二","type":"post","url":"/2018/05/23/service_2_service_auth/","weight":0,"wordcount":1935},{"author":null,"categories":["Tech"],"content":"这段时间对之前微服务安全相关的一些想法进行了进一步总结和归纳,理清在之前文章里面没有想得太清楚的地方,例如服务间的认证与鉴权以及用户身份在服务调用链中的传递。在这一系列博客里面将分为三个部分对微服务安全进行系统阐述:用户访问认证与鉴权,服务间认证与鉴权,外部系统访问控制。","date":1527069600,"description":"这段时间对之前微服务安全相关的一些想法进行了进一步总结和归纳,理清在之前文章里面没有想得太清楚的地方,例如服务间的认证与鉴权以及用户身份在服务调用链中的传递。在这一系列博客里面将分为三个部分对微服务安全进行系统阐述:用户访问认证与鉴权,服务间认证与鉴权,外部系统访问控制。","dir":"post/","excerpt_html":"这段时间对之前微服务安全相关的一些想法进行了进一步总结和归纳,理清在之前文章里面没有想得太清楚的地方,例如服务间的认证与鉴权以及用户身份在服务调用链中的传递。在这一系列博客里面将分为三个部分对微服务安全进行系统阐述:用户访问认证与鉴权,服务间认证与鉴权,外部系统访问控制。","excerpt_text":"这段时间对之前微服务安全相关的一些想法进行了进一步总结和归纳,理清在之前文章里面没有想得太清楚的地方,例如服务间的认证与鉴权以及用户身份在服务调用链中的传递。在这一系列博客里面将分为三个部分对微服务安全进行系统阐述:用户访问认证与鉴权,服务间认证与鉴权,外部系统访问控制。","expirydate":-62135596800,"fuzzywordcount":3100,"html":"这段时间对之前微服务安全相关的一些想法进行了进一步总结和归纳,理清在之前文章里面没有想得太清楚的地方,例如服务间的认证与鉴权以及用户身份在服务调用链中的传递。在这一系列博客里面将分为三个部分对微服务安全进行系统阐述:用户访问认证与鉴权,服务间认证与鉴权,外部系统访问控制。","keywords":null,"kind":"page","lang":"en","lastmod":1527069600,"objectID":"3fc17cbcf909103e423326182d72a807","permalink":"https://www.zhouzhoukl.com/2018/05/22/user_authentication_authorization/","publishdate":"2018-05-23T10:00:00Z","readingtime":7,"relpermalink":"/2018/05/22/user_authentication_authorization/","section":"post","summary":"这段时间对之前微服务安全相关的一些想法进行了进一步总结和归纳,理清了在之前文章里面没有想得太清楚的地方,例如服务间的认证与鉴权以及用户身份在","tags":["Microservice","Security"],"title":"微服务安全沉思录之一","type":"post","url":"/2018/05/22/user_authentication_authorization/","weight":0,"wordcount":3030},{"author":null,"categories":["Tech"],"content":"Kubernets 1.9版本引入了Admission Webhook(web 回调)扩展机制,通过Webhook,开发者可以非常灵活地对Kubernets API Server的功能进行扩展,在API Server创建资源时对资源进行验证或者修改。 Istio 0.7版本就利用了Kubernets webhook实现了sidecar的自动注入。","date":1527033600,"description":"Kubernets 1.9版本引入了Admission Webhook(web 回调)扩展机制,通过Webhook,开发者可以非常灵活地对Kubernets API Server的功能进行扩展,在API Server创建资源时对资源进行验证或者修改。 Istio 0.7版本就利用了Kubernets webhook实现了sidecar的自动注入。","dir":"post/","excerpt_html":"Kubernets 1.9版本引入了Admission Webhook(web 回调)扩展机制,通过Webhook,开发者可以非常灵活地对Kubernets API Server的功能进行扩展,在API Server创建资源时对资源进行验证或者修改。 Istio 0.7版本就利用了Kubernets webhook实现了sidecar的自动注入。","excerpt_text":"Kubernets 1.9版本引入了Admission Webhook(web 回调)扩展机制,通过Webhook,开发者可以非常灵活地对Kubernets API Server的功能进行扩展,在API Server创建资源时对资源进行验证或者修改。 Istio 0.7版本就利用了Kubernets webhook实现了sidecar的自动注入。","expirydate":-62135596800,"fuzzywordcount":1200,"html":"Kubernets 1.9版本引入了Admission Webhook(web 回调)扩展机制,通过Webhook,开发者可以非常灵活地对Kubernets API Server的功能进行扩展,在API Server创建资源时对资源进行验证或者修改。 Istio 0.7版本就利用了Kubernets webhook实现了sidecar的自动注入。","keywords":null,"kind":"page","lang":"en","lastmod":1527033600,"objectID":"61cbee2b7380aaa6e9b9f882840da6a0","permalink":"https://www.zhouzhoukl.com/2018/05/23/istio-auto-injection-with-webhook/","publishdate":"2018-05-23T00:00:00Z","readingtime":3,"relpermalink":"/2018/05/23/istio-auto-injection-with-webhook/","section":"post","summary":"\u003ch2 id=\"前言\"\u003e前言\u003c/h2\u003e\n\u003chr\u003e\n\u003cp\u003eKubernets 1.9版本引入了Admission Webhook(web 回调)扩展机制,通过Webhook,开发者可以非常灵活地对Kubernets API Server的功能进行扩展,在API Server创建资源时对资源进行验证或者修改。\u003c/p\u003e\n\u003cp\u003e使用webhook的优势是不需要对API Server的源码进行修改和重新编译就可以扩展其功能。插入的逻辑实现为一个独立的web进程,通过参数方式传入到kubernets中,由kubernets在进行自身逻辑处理时对扩展逻辑进行回调。\u003c/p\u003e\n\u003cp\u003eIstio 0.7版本就利用了Kubernets webhook实现了sidecar的自动注入。\u003c/p\u003e","tags":["Kubernetes","Istio"],"title":"Istio Sidecar自动注入原理","type":"post","url":"/2018/05/23/istio-auto-injection-with-webhook/","weight":0,"wordcount":1133},{"author":null,"categories":["Life"],"content":null,"date":1525132800,"description":"","dir":"post/","excerpt_html":null,"excerpt_text":null,"expirydate":-62135596800,"fuzzywordcount":3600,"html":null,"keywords":null,"kind":"page","lang":"en","lastmod":1525132800,"objectID":"14429f8bcce027e828700689f3857119","permalink":"https://www.zhouzhoukl.com/2018/05/01/may-day-jiulonghu/","publishdate":"2018-05-01T00:00:00Z","readingtime":8,"relpermalink":"/2018/05/01/may-day-jiulonghu/","section":"post","summary":"\u003ch2 id=\"寻浮云牧场不遇\"\u003e寻浮云牧场不遇\u003c/h2\u003e\n\u003cp\u003e五一节前的一周内,几个朋友就纷纷坐不住了,一个二个不再安心上班,开始在微信群里讨论过节要到哪里耍。\n大家思来想去,最后决定还是去理县方向。因为根据多年自驾的经验,只要出了汶川,沿途都是风景。\u003c/p\u003e","tags":["Travel"],"title":"川西秘境探险","type":"post","url":"/2018/05/01/may-day-jiulonghu/","weight":0,"wordcount":3568},{"author":null,"categories":["Tech"],"content":"Helm是Kubernetes生态系统中的一个软件包管理工具。本文将介绍为何要使用Helm进行Kubernetes软件包管理,澄清Helm中使用到的相关概念,并通过一个具体的示例学习如何使用Helm打包,分发,安装,升级及回退Kubernetes应用。","date":1523890800,"description":"Helm是Kubernetes生态系统中的一个软件包管理工具。本文将介绍为何要使用Helm进行Kubernetes软件包管理,澄清Helm中使用到的相关概念,并通过一个具体的示例学习如何使用Helm打包,分发,安装,升级及回退Kubernetes应用。","dir":"post/","excerpt_html":"Helm是Kubernetes生态系统中的一个软件包管理工具。本文将介绍为何要使用Helm进行Kubernetes软件包管理,澄清Helm中使用到的相关概念,并通过一个具体的示例学习如何使用Helm打包,分发,安装,升级及回退Kubernetes应用。","excerpt_text":"Helm是Kubernetes生态系统中的一个软件包管理工具。本文将介绍为何要使用Helm进行Kubernetes软件包管理,澄清Helm中使用到的相关概念,并通过一个具体的示例学习如何使用Helm打包,分发,安装,升级及回退Kubernetes应用。","expirydate":-62135596800,"fuzzywordcount":5000,"html":"Helm是Kubernetes生态系统中的一个软件包管理工具。本文将介绍为何要使用Helm进行Kubernetes软件包管理,澄清Helm中使用到的相关概念,并通过一个具体的示例学习如何使用Helm打包,分发,安装,升级及回退Kubernetes应用。","keywords":null,"kind":"page","lang":"en","lastmod":1523890800,"objectID":"8160a1bd8df0fbf81c4f36a3c6e7d3af","permalink":"https://www.zhouzhoukl.com/2018/04/16/using-helm-to-deploy-to-kubernetes/","publishdate":"2018-04-16T15:00:00Z","readingtime":10,"relpermalink":"/2018/04/16/using-helm-to-deploy-to-kubernetes/","section":"post","summary":"前言 Helm是Kubernetes生态系统中的一个软件包管理工具。本文将介绍为何要使用Helm进行Kubernetes软件包管理,澄清Hel","tags":["Kubernetes","Helm"],"title":"Helm介绍","type":"post","url":"/2018/04/16/using-helm-to-deploy-to-kubernetes/","weight":0,"wordcount":4996},{"author":null,"categories":["Tech"],"content":"API Gateway和Service Mesh的关系是我最近一直在思考的问题,也和同事及社区的朋友之间进行了一些讨论。这篇短文很清晰地总结了两者之间的相似之处以及这两者在微服务架构中的不同用途。","date":1523439120,"description":"API Gateway和Service Mesh的关系是我最近一直在思考的问题,也和同事及社区的朋友之间进行了一些讨论。这篇短文很清晰地总结了两者之间的相似之处以及这两者在微服务架构中的不同用途。","dir":"post/","excerpt_html":"API Gateway和Service Mesh的关系是我最近一直在思考的问题,也和同事及社区的朋友之间进行了一些讨论。这篇短文很清晰地总结了两者之间的相似之处以及这两者在微服务架构中的不同用途。","excerpt_text":"API Gateway和Service Mesh的关系是我最近一直在思考的问题,也和同事及社区的朋友之间进行了一些讨论。这篇短文很清晰地总结了两者之间的相似之处以及这两者在微服务架构中的不同用途。","expirydate":-62135596800,"fuzzywordcount":1700,"html":"API Gateway和Service Mesh的关系是我最近一直在思考的问题,也和同事及社区的朋友之间进行了一些讨论。这篇短文很清晰地总结了两者之间的相似之处以及这两者在微服务架构中的不同用途。","keywords":null,"kind":"page","lang":"en","lastmod":1523439120,"objectID":"10512631762a4eb4fe14a47b7cb61d54","permalink":"https://www.zhouzhoukl.com/2018/04/11/service-mesh-vs-api-gateway/","publishdate":"2018-04-11T09:32:00Z","readingtime":4,"relpermalink":"/2018/04/11/service-mesh-vs-api-gateway/","section":"post","summary":"Service Mesh vs API Gateway 在前一篇关于Service Mesh的文章中,我提到了几个关于Service Mesh和API Gateway之间关系的问题,在本篇文章","tags":["Microservice","Service Mesh","API Gateway"],"title":"Service Mesh 和 API Gateway的关系探讨(译文)","type":"post","url":"/2018/04/11/service-mesh-vs-api-gateway/","weight":0,"wordcount":1697},{"author":null,"categories":["Tech"],"content":"作为一种架构模式,微服务将复杂系统切分为数十乃至上百个小服务,每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改,并带来了语言和框架选择灵活性,缩短应用开发上线时间,可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。另一方面,当应用被拆分为多个微服务进程后,进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性,本文介绍了Service Mesh模式如何应对微服务架构的这些挑战,以及Service Mesh的明星开源项目Istio。","date":1522324800,"description":"作为一种架构模式,微服务将复杂系统切分为数十乃至上百个小服务,每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改,并带来了语言和框架选择灵活性,缩短应用开发上线时间,可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。另一方面,当应用被拆分为多个微服务进程后,进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性,本文介绍了Service Mesh模式如何应对微服务架构的这些挑战,以及Service Mesh的明星开源项目Istio。","dir":"post/","excerpt_html":"作为一种架构模式,微服务将复杂系统切分为数十乃至上百个小服务,每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改,并带来了语言和框架选择灵活性,缩短应用开发上线时间,可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。另一方面,当应用被拆分为多个微服务进程后,进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性,本文介绍了Service Mesh模式如何应对微服务架构的这些挑战,以及Service Mesh的明星开源项目Istio。","excerpt_text":"作为一种架构模式,微服务将复杂系统切分为数十乃至上百个小服务,每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改,并带来了语言和框架选择灵活性,缩短应用开发上线时间,可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。另一方面,当应用被拆分为多个微服务进程后,进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性,本文介绍了Service Mesh模式如何应对微服务架构的这些挑战,以及Service Mesh的明星开源项目Istio。","expirydate":-62135596800,"fuzzywordcount":8500,"html":"作为一种架构模式,微服务将复杂系统切分为数十乃至上百个小服务,每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改,并带来了语言和框架选择灵活性,缩短应用开发上线时间,可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。另一方面,当应用被拆分为多个微服务进程后,进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性,本文介绍了Service Mesh模式如何应对微服务架构的这些挑战,以及Service Mesh的明星开源项目Istio。","keywords":null,"kind":"page","lang":"en","lastmod":1522324800,"objectID":"58e1fcbb286268d60015d8695e72e3b4","permalink":"https://www.zhouzhoukl.com/2018/03/29/what-is-service-mesh-and-istio/","publishdate":"2018-03-29T12:00:00Z","readingtime":17,"relpermalink":"/2018/03/29/what-is-service-mesh-and-istio/","section":"post","summary":"\u003ch2 id=\"微服务架构的演进\"\u003e微服务架构的演进\u003c/h2\u003e\n\u003cp\u003e作为一种架构模式,微服务将复杂系统切分为数十乃至上百个小服务,每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改,并带来了语言和框架选择灵活性,缩短应用开发上线时间,可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。\u003c/p\u003e\n\u003cp\u003e另一方面,当应用被拆分为多个微服务进程后,进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性。\u003c/p\u003e","tags":["Microservice","Service Mesh","Istio"],"title":"谈谈微服务架构中的基础设施:Service Mesh与Istio","type":"post","url":"/2018/03/29/what-is-service-mesh-and-istio/","weight":0,"wordcount":8405},{"author":null,"categories":["Tips"],"content":"如何配置docker使用HTTP代理","date":1520964000,"description":"如何配置docker使用HTTP代理","dir":"post/","excerpt_html":"如何配置docker使用HTTP代理","excerpt_text":"如何配置docker使用HTTP代理","expirydate":-62135596800,"fuzzywordcount":100,"html":"如何配置docker使用HTTP代理","keywords":null,"kind":"page","lang":"en","lastmod":1520964000,"objectID":"98b8057999561a04d562f017fde4df05","permalink":"https://www.zhouzhoukl.com/2018/03/13/use-docker-behind-http-proxy/","publishdate":"2018-03-13T18:00:00Z","readingtime":1,"relpermalink":"/2018/03/13/use-docker-behind-http-proxy/","section":"post","summary":"\u003ch2 id=\"ubuntu\"\u003eUbuntu\u003c/h2\u003e\n\u003ch3 id=\"设置docker使用http-proxy\"\u003e设置docker使用http proxy\u003c/h3\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003esudo /etc/default/docker\n\nexport http_proxy=\u0026#34;http://127.0.0.1:3128/\u0026#34;\nexport https_proxy=\u0026#34;http://127.0.0.1:3128/\u0026#34;\nexport HTTP_PROXY=\u0026#34;http://127.0.0.1:3128/\u0026#34;\nexport HTTPS_PROXY=\u0026#34;http://127.0.0.1:3128/\u0026#34;\n\u003c/code\u003e\u003c/pre\u003e","tags":["Tips","Docker"],"title":"如何配置docker使用HTTP代理","type":"post","url":"/2018/03/13/use-docker-behind-http-proxy/","weight":0,"wordcount":92},{"author":null,"categories":["Tips"],"content":"Vim Tips and tricks","date":1518174000,"description":"Vim Tips and tricks","dir":"post/","excerpt_html":"Vim Tips and tricks","excerpt_text":"Vim Tips and tricks","expirydate":-62135596800,"fuzzywordcount":200,"html":"Vim Tips and tricks","keywords":null,"kind":"page","lang":"en","lastmod":1518174000,"objectID":"2d0e4272390337188b486ff2335caebb","permalink":"https://www.zhouzhoukl.com/2018/02/09/vim-tips/","publishdate":"2018-02-09T11:00:00Z","readingtime":1,"relpermalink":"/2018/02/09/vim-tips/","section":"post","summary":"\u003ch2 id=\"vim-graphical-cheat-sheet\"\u003evim graphical cheat sheet\u003c/h2\u003e\n\u003cp\u003e\n \u003cimg src=\"//img/2018-02-09-vim-tips/vi-vim-cheat-sheet.svg\" alt=\"\"\u003e\n\n\u003c/p\u003e","tags":["Tips","Vim"],"title":"Vim Tips","type":"post","url":"/2018/02/09/vim-tips/","weight":0,"wordcount":181},{"author":null,"categories":["Tips"],"content":"如何使用非root用户执行docker命令","date":1518170400,"description":"如何使用非root用户执行docker命令","dir":"post/","excerpt_html":"如何使用非root用户执行docker命令","excerpt_text":"如何使用非root用户执行docker命令","expirydate":-62135596800,"fuzzywordcount":100,"html":"如何使用非root用户执行docker命令","keywords":null,"kind":"page","lang":"en","lastmod":1518170400,"objectID":"92d7e3e34329f74a5a955e31f5743bae","permalink":"https://www.zhouzhoukl.com/2018/02/09/docker-without-sudo/","publishdate":"2018-02-09T10:00:00Z","readingtime":1,"relpermalink":"/2018/02/09/docker-without-sudo/","section":"post","summary":"Add the docker group if it doesn\u0026rsquo;t already exist: sudo groupadd docker Add the connected user \u0026ldquo;$USER\u0026rdquo; to the docker group. Change the user name to match your preferred user if you do not want to use your current user: sudo gpasswd -a $USER docker Either do a newgrp docker or log out/in to activate the changes to groups.","tags":["Tips","Docker"],"title":"如何使用非root用户执行docker命令","type":"post","url":"/2018/02/09/docker-without-sudo/","weight":0,"wordcount":59},{"author":null,"categories":["Tech"],"content":"微服务架构的引入为软件应用带来了诸多好处:包括小开发团队,缩短开发周期,语言选择灵活性,增强服务伸缩能力等。与此同时,也引入了分布式系统的诸多复杂问题。其中一个挑战就是如何在微服务架构中实现一个灵活,安全,高效的认证和鉴权方案。本文将尝试就此问题进行一次比较完整的探讨。","date":1517659200,"description":"微服务架构的引入为软件应用带来了诸多好处:包括小开发团队,缩短开发周期,语言选择灵活性,增强服务伸缩能力等。与此同时,也引入了分布式系统的诸多复杂问题。其中一个挑战就是如何在微服务架构中实现一个灵活,安全,高效的认证和鉴权方案。本文将尝试就此问题进行一次比较完整的探讨。","dir":"post/","excerpt_html":"微服务架构的引入为软件应用带来了诸多好处:包括小开发团队,缩短开发周期,语言选择灵活性,增强服务伸缩能力等。与此同时,也引入了分布式系统的诸多复杂问题。其中一个挑战就是如何在微服务架构中实现一个灵活,安全,高效的认证和鉴权方案。本文将尝试就此问题进行一次比较完整的探讨。","excerpt_text":"微服务架构的引入为软件应用带来了诸多好处:包括小开发团队,缩短开发周期,语言选择灵活性,增强服务伸缩能力等。与此同时,也引入了分布式系统的诸多复杂问题。其中一个挑战就是如何在微服务架构中实现一个灵活,安全,高效的认证和鉴权方案。本文将尝试就此问题进行一次比较完整的探讨。","expirydate":-62135596800,"fuzzywordcount":5500,"html":"微服务架构的引入为软件应用带来了诸多好处:包括小开发团队,缩短开发周期,语言选择灵活性,增强服务伸缩能力等。与此同时,也引入了分布式系统的诸多复杂问题。其中一个挑战就是如何在微服务架构中实现一个灵活,安全,高效的认证和鉴权方案。本文将尝试就此问题进行一次比较完整的探讨。","keywords":null,"kind":"page","lang":"en","lastmod":1517659200,"objectID":"c1d32da205ea082b3dd7061c39ea7e8b","permalink":"https://www.zhouzhoukl.com/2018/05/22/user_authentication_authorization/","publishdate":"2018-02-03T12:00:00Z","readingtime":11,"relpermalink":"/2018/05/22/user_authentication_authorization/","section":"post","summary":"\u003ch2 id=\"前言\"\u003e前言\u003c/h2\u003e\n\u003cp\u003e微服务架构的引入为软件应用带来了诸多好处:包括小开发团队,缩短开发周期,语言选择灵活性,增强服务伸缩能力等。与此同时,也引入了分布式系统的诸多复杂问题。其中一个挑战就是如何在微服务架构中实现一个灵活,安全,高效的认证和鉴权方案。本文将尝试就此问题进行一次比较完整的探讨。\u003c/p\u003e","tags":["Microservice","Security"],"title":"如何构建安全的微服务应用?","type":"post","url":"/2018/05/22/user_authentication_authorization/","weight":0,"wordcount":5434},{"author":null,"categories":["Tech"],"content":"Nginmesh是NGINX的Service Mesh开源项目,用于Istio服务网格平台中的数据面代理。它旨在提供七层负载均衡和服务路由功能,与Istio集成作为sidecar部署,并将以“标准,可靠和安全的方式”使得服务间通信更容易。Nginmesh在今年底已经连续发布了0.2和0.3版本,提供了服务发现,请求转发,路由规则,性能指标收集等功能。本文介绍如何采用kubeadmin安装kubernetes集群并部署Nginmesh sidecar。","date":1514894400,"description":"Nginmesh是NGINX的Service Mesh开源项目,用于Istio服务网格平台中的数据面代理。它旨在提供七层负载均衡和服务路由功能,与Istio集成作为sidecar部署,并将以“标准,可靠和安全的方式”使得服务间通信更容易。Nginmesh在今年底已经连续发布了0.2和0.3版本,提供了服务发现,请求转发,路由规则,性能指标收集等功能。本文介绍如何采用kubeadmin安装kubernetes集群并部署Nginmesh sidecar。","dir":"post/","excerpt_html":"Nginmesh是NGINX的Service Mesh开源项目,用于Istio服务网格平台中的数据面代理。它旨在提供七层负载均衡和服务路由功能,与Istio集成作为sidecar部署,并将以“标准,可靠和安全的方式”使得服务间通信更容易。Nginmesh在今年底已经连续发布了0.2和0.3版本,提供了服务发现,请求转发,路由规则,性能指标收集等功能。本文介绍如何采用kubeadmin安装kubernetes集群并部署Nginmesh sidecar。","excerpt_text":"Nginmesh是NGINX的Service Mesh开源项目,用于Istio服务网格平台中的数据面代理。它旨在提供七层负载均衡和服务路由功能,与Istio集成作为sidecar部署,并将以“标准,可靠和安全的方式”使得服务间通信更容易。Nginmesh在今年底已经连续发布了0.2和0.3版本,提供了服务发现,请求转发,路由规则,性能指标收集等功能。本文介绍如何采用kubeadmin安装kubernetes集群并部署Nginmesh sidecar。","expirydate":-62135596800,"fuzzywordcount":2700,"html":"Nginmesh是NGINX的Service Mesh开源项目,用于Istio服务网格平台中的数据面代理。它旨在提供七层负载均衡和服务路由功能,与Istio集成作为sidecar部署,并将以“标准,可靠和安全的方式”使得服务间通信更容易。Nginmesh在今年底已经连续发布了0.2和0.3版本,提供了服务发现,请求转发,路由规则,性能指标收集等功能。本文介绍如何采用kubeadmin安装kubernetes集群并部署Nginmesh sidecar。","keywords":null,"kind":"page","lang":"en","lastmod":1514894400,"objectID":"f12f8e4e5417662ca5f2745b62aadb1e","permalink":"https://www.zhouzhoukl.com/2018/01/02/nginmesh-install/","publishdate":"2018-01-02T12:00:00Z","readingtime":6,"relpermalink":"/2018/01/02/nginmesh-install/","section":"post","summary":"\u003ch2 id=\"前言\"\u003e前言\u003c/h2\u003e\n\u003cp\u003eNginmesh是NGINX的Service Mesh开源项目,用于Istio服务网格平台中的数据面代理。它旨在提供七层负载均衡和服务路由功能,与Istio集成作为sidecar部署,并将以“标准,可靠和安全的方式”使得服务间通信更容易。Nginmesh在今年底已经连续发布了0.2和0.3版本,提供了服务发现,请求转发,路由规则,性能指标收集等功能。\u003c/p\u003e","tags":["Istio","service Mesh","nginmesh"],"title":"Nginx开源Service Mesh组件Nginmesh安装指南","type":"post","url":"/2018/01/02/nginmesh-install/","weight":0,"wordcount":2677},{"author":null,"categories":["Tech"],"content":"我们知道,kubernetes的Cluster Network属于私有网络,只能在cluster Network内部才能访问部署的应用,那如何才能将Kubernetes集群中的应用暴露到外部网络,为外部用户提供服务呢?本文探讨了从外部网络访问kubernetes cluster中应用的几种实现方式。","date":1511870400,"description":"我们知道,kubernetes的Cluster Network属于私有网络,只能在cluster Network内部才能访问部署的应用,那如何才能将Kubernetes集群中的应用暴露到外部网络,为外部用户提供服务呢?本文探讨了从外部网络访问kubernetes cluster中应用的几种实现方式。","dir":"post/","excerpt_html":"我们知道,kubernetes的Cluster Network属于私有网络,只能在cluster Network内部才能访问部署的应用,那如何才能将Kubernetes集群中的应用暴露到外部网络,为外部用户提供服务呢?本文探讨了从外部网络访问kubernetes cluster中应用的几种实现方式。","excerpt_text":"我们知道,kubernetes的Cluster Network属于私有网络,只能在cluster Network内部才能访问部署的应用,那如何才能将Kubernetes集群中的应用暴露到外部网络,为外部用户提供服务呢?本文探讨了从外部网络访问kubernetes cluster中应用的几种实现方式。","expirydate":-62135596800,"fuzzywordcount":5600,"html":"我们知道,kubernetes的Cluster Network属于私有网络,只能在cluster Network内部才能访问部署的应用,那如何才能将Kubernetes集群中的应用暴露到外部网络,为外部用户提供服务呢?本文探讨了从外部网络访问kubernetes cluster中应用的几种实现方式。","keywords":null,"kind":"page","lang":"en","lastmod":1511870400,"objectID":"62314fd01037305fcf6b8c9ad3b3b02d","permalink":"https://www.zhouzhoukl.com/2017/11/28/access-application-from-outside/","publishdate":"2017-11-28T12:00:00Z","readingtime":12,"relpermalink":"/2017/11/28/access-application-from-outside/","section":"post","summary":"\u003ch2 id=\"前言\"\u003e前言\u003c/h2\u003e\n\u003cp\u003e我们知道,kubernetes的Cluster Network属于私有网络,只能在cluster Network内部才能访问部署的应用,那如何才能将Kubernetes集群中的应用暴露到外部网络,为外部用户提供服务呢?本文探讨了从外部网络访问kubernetes cluster中应用的几种实现方式。\u003c/p\u003e","tags":["Kubernetes"],"title":"如何从外部访问Kubernetes集群中的应用?","type":"post","url":"/2017/11/28/access-application-from-outside/","weight":0,"wordcount":5543},{"author":null,"categories":["Tech"],"content":"当应用上线以后,运维面临的一大挑战是如何能在不影响已上线业务的情况下进行升级。本文将介绍如何使用Istio实现应用的灰度发布(金丝雀发布)","date":1510153200,"description":"当应用上线以后,运维面临的一大挑战是如何能在不影响已上线业务的情况下进行升级。本文将介绍如何使用Istio实现应用的灰度发布(金丝雀发布)","dir":"post/","excerpt_html":"当应用上线以后,运维面临的一大挑战是如何能在不影响已上线业务的情况下进行升级。本文将介绍如何使用Istio实现应用的灰度发布(金丝雀发布)","excerpt_text":"当应用上线以后,运维面临的一大挑战是如何能在不影响已上线业务的情况下进行升级。本文将介绍如何使用Istio实现应用的灰度发布(金丝雀发布)","expirydate":-62135596800,"fuzzywordcount":3300,"html":"当应用上线以后,运维面临的一大挑战是如何能在不影响已上线业务的情况下进行升级。本文将介绍如何使用Istio实现应用的灰度发布(金丝雀发布)","keywords":null,"kind":"page","lang":"en","lastmod":1510153200,"objectID":"320d9f0641802d90086c08b5cf554c4d","permalink":"https://www.zhouzhoukl.com/2017/11/08/istio-canary-release/","publishdate":"2017-11-08T15:00:00Z","readingtime":7,"relpermalink":"/2017/11/08/istio-canary-release/","section":"post","summary":"灰度发布(又名金丝雀发布)介绍 当应用上线以后,运维面临的一大挑战是如何能够在不影响已上线业务的情况下进行升级。做过产品的同学都清楚,不管在发","tags":["Istio"],"title":"采用Istio实现灰度发布(金丝雀发布)","type":"post","url":"/2017/11/08/istio-canary-release/","weight":0,"wordcount":3210},{"author":null,"categories":["Tech"],"content":"本任务将演示如何将应用流量逐渐从旧版本的服务迁移到新版本。通过Istio,可以使用一系列不同权重的规则(10%,20%,··· 100%)将流量平缓地从旧版本服务迁移到新版本服务。","date":1510012800,"description":"本任务将演示如何将应用流量逐渐从旧版本的服务迁移到新版本。通过Istio,可以使用一系列不同权重的规则(10%,20%,··· 100%)将流量平缓地从旧版本服务迁移到新版本服务。","dir":"post/","excerpt_html":"本任务将演示如何将应用流量逐渐从旧版本的服务迁移到新版本。通过Istio,可以使用一系列不同权重的规则(10%,20%,··· 100%)将流量平缓地从旧版本服务迁移到新版本服务。","excerpt_text":"本任务将演示如何将应用流量逐渐从旧版本的服务迁移到新版本。通过Istio,可以使用一系列不同权重的规则(10%,20%,··· 100%)将流量平缓地从旧版本服务迁移到新版本服务。","expirydate":-62135596800,"fuzzywordcount":1400,"html":"本任务将演示如何将应用流量逐渐从旧版本的服务迁移到新版本。通过Istio,可以使用一系列不同权重的规则(10%,20%,··· 100%)将流量平缓地从旧版本服务迁移到新版本服务。","keywords":null,"kind":"page","lang":"en","lastmod":1510012800,"objectID":"5ae8190e8b21dc18fae6ba6a26ad2f8e","permalink":"https://www.zhouzhoukl.com/2017/11/07/istio-traffic-shifting/","publishdate":"2017-11-07T00:00:00Z","readingtime":3,"relpermalink":"/2017/11/07/istio-traffic-shifting/","section":"post","summary":"\u003cp\u003e关于Istio的更多内容请参考\u003ca href=\"http://istio.doczh.cn/\"\u003eistio中文文档\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e原文参见\u003ca href=\"https://istio.io/docs/tasks/traffic-management/traffic-shifting.html\"\u003eTraffic Shifting\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e本任务将演示如何将应用流量逐渐从旧版本的服务迁移到新版本。通过Istio,可以使用一系列不同权重的规则(10%,20%,··· 100%)将流量平缓地从旧版本服务迁移到新版本服务。\u003c/p\u003e","tags":["Istio"],"title":"使用Istio实现应用流量转移","type":"post","url":"/2017/11/07/istio-traffic-shifting/","weight":0,"wordcount":1313},{"author":null,"categories":["Tech"],"content":"Istio是来自Google,IBM和Lyft的一个Service Mesh(服务网格)开源项目,是Google继Kubernetes之后的又一大作,本文将演示如何从裸机开始从零搭建Istio及Bookinfo示例程序。","date":1509796800,"description":"Istio是来自Google,IBM和Lyft的一个Service Mesh(服务网格)开源项目,是Google继Kubernetes之后的又一大作,本文将演示如何从裸机开始从零搭建Istio及Bookinfo示例程序。","dir":"post/","excerpt_html":"Istio是来自Google,IBM和Lyft的一个Service Mesh(服务网格)开源项目,是Google继Kubernetes之后的又一大作,本文将演示如何从裸机开始从零搭建Istio及Bookinfo示例程序。","excerpt_text":"Istio是来自Google,IBM和Lyft的一个Service Mesh(服务网格)开源项目,是Google继Kubernetes之后的又一大作,本文将演示如何从裸机开始从零搭建Istio及Bookinfo示例程序。","expirydate":-62135596800,"fuzzywordcount":5600,"html":"Istio是来自Google,IBM和Lyft的一个Service Mesh(服务网格)开源项目,是Google继Kubernetes之后的又一大作,本文将演示如何从裸机开始从零搭建Istio及Bookinfo示例程序。","keywords":null,"kind":"page","lang":"en","lastmod":1509796800,"objectID":"d993f98f09d7341809e97a3c1ba8e960","permalink":"https://www.zhouzhoukl.com/2017/11/04/istio-install_and_example/","publishdate":"2017-11-04T12:00:00Z","readingtime":12,"relpermalink":"/2017/11/04/istio-install_and_example/","section":"post","summary":"\u003ch2 id=\"服务网格简介\"\u003e服务网格简介\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e服务网格\u003c/strong\u003e(Service Mesh)是为解决微服务的通信和治理而出现的一种\u003cstrong\u003e架构模式\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e服务网格将服务间通讯以及与此相关的管理控制功能从业务程序中下移到一个基础设施层,从而彻底隔离了业务逻辑和服务通讯两个关注点。采用服务网格后,应用开发者只需要关注并实现应用业务逻辑。服务之间的通信,包括服务发现,通讯的可靠性,通讯的安全性,服务路由等由服务网格层进行处理,并对应用程序透明。\u003c/p\u003e","tags":["Istio"],"title":"Istio及Bookinfo示例程序安装试用笔记","type":"post","url":"/2017/11/04/istio-install_and_example/","weight":0,"wordcount":5529},{"author":null,"categories":null,"content":null,"date":1509753600,"description":"","dir":"post/","excerpt_html":null,"excerpt_text":null,"expirydate":-62135596800,"fuzzywordcount":100,"html":null,"keywords":null,"kind":"page","lang":"en","lastmod":1509753600,"objectID":"cf37d97d83d29e7c3f79c50c928a7a4d","permalink":"https://www.zhouzhoukl.com/2017/11/03/hello-world/","publishdate":"2017-11-04T00:00:00Z","readingtime":1,"relpermalink":"/2017/11/03/hello-world/","section":"post","summary":"“Yeah It\u0026rsquo;s on. ” Hello World!","tags":null,"title":"Welcome to Zhaohuabing Blog","type":"post","url":"/2017/11/03/hello-world/","weight":0,"wordcount":10},{"author":null,"categories":null,"content":null,"date":-62135596800,"description":"","dir":"about/","excerpt_html":null,"excerpt_text":null,"expirydate":-62135596800,"fuzzywordcount":600,"html":null,"keywords":null,"kind":"page","lang":"en","lastmod":-62135596800,"objectID":"8576ec274c98b3831668a172fa632d80","permalink":"https://www.zhouzhoukl.com/about/","publishdate":"0001-01-01T00:00:00Z","readingtime":1,"relpermalink":"/about/","section":"","summary":"About Me Huabing Zhao is a software architect, an Istio Member and an ONAP PTL. He has a solid experience in the information and telecommunication technology industry for more than 17 years. Throughout his career, he has built a number of large-scale, cross-country software systems, most of them are still running in production. He loves open source and has been contributing to various open source projects, he is a member","tags":null,"title":"","type":"page","url":"/about/","weight":0,"wordcount":500},{"author":null,"categories":null,"content":null,"date":-62135596800,"description":"","dir":"notes/","excerpt_html":null,"excerpt_text":null,"expirydate":-62135596800,"fuzzywordcount":100,"html":null,"keywords":null,"kind":"page","lang":"en","lastmod":-62135596800,"objectID":"1ede8046f9c3a02d422dea7bbf324e64","permalink":"https://www.zhouzhoukl.com/notes/","publishdate":"0001-01-01T00:00:00Z","readingtime":1,"relpermalink":"/notes/","section":"","summary":"Go 语言学习笔记 Envoy 学习笔记","tags":null,"title":"","type":"page","url":"/notes/","weight":0,"wordcount":12},{"author":null,"categories":null,"content":null,"date":-62135596800,"description":"","dir":"search/","excerpt_html":null,"excerpt_text":null,"expirydate":-62135596800,"fuzzywordcount":100,"html":null,"keywords":null,"kind":"page","lang":"en","lastmod":-62135596800,"objectID":"8946788897930c0c0c39fbfcd30ff2e4","permalink":"https://www.zhouzhoukl.com/search/placeholder/","publishdate":"0001-01-01T00:00:00Z","readingtime":0,"relpermalink":"/search/placeholder/","section":"search","summary":"","tags":null,"title":"","type":"search","url":"/search/placeholder/","weight":0,"wordcount":0},{"author":null,"categories":null,"content":"Archive of historical posts.","date":-62135596800,"description":"Archive of historical posts.","dir":"archive/","excerpt_html":"Archive of historical posts.","excerpt_text":"Archive of historical posts.","expirydate":-62135596800,"fuzzywordcount":100,"html":"Archive of historical posts.","keywords":null,"kind":"page","lang":"en","lastmod":-62135596800,"objectID":"a06e5ce9eca4c3260843078104889780","permalink":"https://www.zhouzhoukl.com/archive/","publishdate":"0001-01-01T00:00:00Z","readingtime":0,"relpermalink":"/archive/","section":"","summary":"","tags":null,"title":"Posts Archive","type":"archive","url":"/archive/","weight":0,"wordcount":0}]