<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>David Paul Young</title>
    <link>https://davidpaulyoung.com/</link>
    <description>Recent content on David Paul Young</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 06 Jul 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://davidpaulyoung.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>This is the Updated Stuff</title>
      <link>https://davidpaulyoung.com/2025/07/06/mathematical-formulae/</link>
      <pubDate>Sun, 06 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2025/07/06/mathematical-formulae/</guid>
      <description>&lt;h2 id=&#34;authoring-mathematical-and-chemical-equations&#34;&gt;Authoring mathematical and chemical equations&lt;/h2&gt;&#xA;&lt;p&gt;Cleanwhite theme now has built-in \(\KaTeX\) support, so that you can easily include&#xA;complex mathematical formulae into your web page, either inline or centred&#xA;on its own line. The theme uses Hugo&amp;rsquo;s embedded instance of the KaTeX&#xA;display engine to render mathematical markup to HTML at build time.&#xA;With this server side rendering of formulae, the same output is produced,&#xA;regardless of your browser or your environment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clean White Theme for Hugo</title>
      <link>https://davidpaulyoung.com/post/readme/</link>
      <pubDate>Wed, 09 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/post/readme/</guid>
      <description>&lt;h1 id=&#34;clean-white-theme-for-hugo&#34;&gt;Clean White Theme for Hugo&lt;/h1&gt;&#xA;&lt;p&gt;CleanWhite is a clean, elegant, but fully functional blog theme for Hugo. Here is a live &lt;a href=&#34;https://zhaohuabing.com&#34;&gt;demo site&lt;/a&gt; using this theme.&lt;/p&gt;&#xA;&lt;p&gt;It is based on &lt;a href=&#34;https://github.com/Huxpro/huxpro.github.io&#34;&gt;huxblog Jekyll Theme&lt;/a&gt;&#xA;and &lt;a href=&#34;https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll&#34;&gt;Clean Blog Jekyll Theme&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;These two upstream projects have done awesome jobs to create a blog theme, what I&amp;rsquo;m doing here is porting it to Hugo, of which I like the simplicity and the much faster compiling speed. Some other features which I think could be useful, such as site search with algolia and proxy for Disqus access in China, have also been built in the CleanWhite theme. Other fancy features of upstream projects are not supported by this Hugo theme, I&amp;rsquo;d like to make it as simple as possible and only focus on blog purpose, at least for now.&#xA;While I created this theme, I followed the Hugo theme best practice and tried to make every part of the template as a replaceable partial html, so it could be much easier for you to make your customization based on it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Istio v1aplha3 routing API介绍(译文）</title>
      <link>https://davidpaulyoung.com/2018/06/04/introducing-the-istio-v1alpha3-routing-api/</link>
      <pubDate>Mon, 04 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/06/04/introducing-the-istio-v1alpha3-routing-api/</guid>
      <description>&lt;p&gt;到目前为止，Istio提供了一个简单的API来进行流量管理，该API包括了四种资源：RouteRule，DestinationPolicy，EgressRule和Ingress（直接使用了Kubernets的Ingress资源）。借助此API，用户可以轻松管理Istio服务网格中的流量。该API允许用户将请求路由到特定版本的服务，为弹性测试注入延迟和失败，添加超时和断路器等等，所有这些功能都不必更改应用程序本身的代码。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Istio 0.8 Release发布</title>
      <link>https://davidpaulyoung.com/2018/06/02/istio08/</link>
      <pubDate>Sat, 02 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/06/02/istio08/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;在6月1日这一天的早上，Istio社区宣布发布0.8 Release，除了常规的故障修复和性能改进外，这个儿童节礼物里面还有什么值得期待内容呢？让我们来看一看：&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Everything about Setting Up My Ubuntu Desktop</title>
      <link>https://davidpaulyoung.com/2018/05/24/set_up_my_ubuntu_desktop/</link>
      <pubDate>Thu, 24 May 2018 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/05/24/set_up_my_ubuntu_desktop/</guid>
      <description>&lt;h2 id=&#34;generate-ssh-key-pair&#34;&gt;Generate SSH Key Pair&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ssh-keygen -C &amp;#34;zhaohuabing@gmail.com&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;shadowsocks&#34;&gt;Shadowsocks&lt;/h2&gt;&#xA;&lt;p&gt;Install shadowsokcs&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get install python3-pip&#xA;&#xA;sudo pip3 install shadowsocks&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Create config at &lt;code&gt;config/shadowsocks.json&lt;/code&gt;, with the following content:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{&#xA;&#x9;&amp;#34;server&amp;#34;:&amp;#34;remote-shadowsocks-server-ip-addr&amp;#34;,&#xA;&#x9;&amp;#34;server_port&amp;#34;:443,&#xA;&#x9;&amp;#34;local_address&amp;#34;:&amp;#34;127.0.0.1&amp;#34;,&#xA;&#x9;&amp;#34;local_port&amp;#34;:1080,&#xA;&#x9;&amp;#34;password&amp;#34;:&amp;#34;your-passwd&amp;#34;,&#xA;&#x9;&amp;#34;timeout&amp;#34;:300,&#xA;&#x9;&amp;#34;method&amp;#34;:&amp;#34;aes-256-cfb&amp;#34;,&#xA;&#x9;&amp;#34;fast_open&amp;#34;:false,&#xA;&#x9;&amp;#34;workers&amp;#34;:1&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Start a local socks proxy&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo sslocal -c config/shadowsocks.json -d start&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In case there is an openssl error, modify shadowsocks source file.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo vi /usr/local/lib/python3.6/dist-packages/shadowsocks/crypto/openssl.py &#xA;&#xA;:%s/cleanup/reset/gc&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Convert shadowsocks socks proxy to http proxy&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get install polipo&#xA;&#xA;echo &amp;#34;socksParentProxy = localhost:1080&amp;#34; | sudo tee -a /etc/polipo/config &#xA;sudo service polipo restart&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Http proxy now is available at port 8123&lt;/p&gt;</description>
    </item>
    <item>
      <title>微服务安全沉思录之三</title>
      <link>https://davidpaulyoung.com/2018/05/23/external_system_auth/</link>
      <pubDate>Wed, 23 May 2018 18:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/05/23/external_system_auth/</guid>
      <description>&lt;h2 id=&#34;外部系统访问控制&#34;&gt;外部系统访问控制&lt;/h2&gt;&#xA;&lt;p&gt;除用户访问和微服务之间的相互访问外，外部的第三方系统也可能需要访问系统内部的微服务。例如在上一篇博客的网上商店例子中，外部的推荐服务可能需要接入系统，以获取商店的商品目录信息。相对于内部服务之间的访问而言，外部系统的访问需要进行严格的安全控制。&lt;/p&gt;</description>
    </item>
    <item>
      <title>微服务安全沉思录之二</title>
      <link>https://davidpaulyoung.com/2018/05/23/service_2_service_auth/</link>
      <pubDate>Wed, 23 May 2018 15:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/05/23/service_2_service_auth/</guid>
      <description>&lt;h2 id=&#34;服务间认证与鉴权&#34;&gt;服务间认证与鉴权&lt;/h2&gt;&#xA;&lt;p&gt;除来自用户的访问请求以外，微服务应用中的各个微服务相互之间还有大量的访问，包括下述场景：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;用户间接触发的微服务之间的相互访问&lt;BR&gt;&#xA;例如在一个网上商店应用中，用户访问购物车微服务进行结算时，购物车微服务可能需要访问用户评级微服务获取用户的会员级别，以得到用户可以享受购物折扣。&lt;/li&gt;&#xA;&lt;li&gt;非用户触发的微服务之间的相互访问&lt;BR&gt;&#xA;例如数据同步或者后台定时任务导致的微服务之间的相互访问。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;根据应用系统的数据敏感程度的不同，对于系统内微服务的相互访问可能有不同的安全要求。&lt;/p&gt;</description>
    </item>
    <item>
      <title>微服务安全沉思录之一</title>
      <link>https://davidpaulyoung.com/2018/05/22/user_authentication_authorization/</link>
      <pubDate>Wed, 23 May 2018 10:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/05/22/user_authentication_authorization/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;这段时间对之前微服务安全相关的一些想法进行了进一步总结和归纳，理清了在之前文章里面没有想得太清楚的地方，例如服务间的认证与鉴权以及用户身份在服务调用链中的传递。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Istio Sidecar自动注入原理</title>
      <link>https://davidpaulyoung.com/2018/05/23/istio-auto-injection-with-webhook/</link>
      <pubDate>Wed, 23 May 2018 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/05/23/istio-auto-injection-with-webhook/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Kubernets 1.9版本引入了Admission Webhook(web 回调)扩展机制，通过Webhook,开发者可以非常灵活地对Kubernets API Server的功能进行扩展，在API Server创建资源时对资源进行验证或者修改。&lt;/p&gt;&#xA;&lt;p&gt;使用webhook的优势是不需要对API Server的源码进行修改和重新编译就可以扩展其功能。插入的逻辑实现为一个独立的web进程，通过参数方式传入到kubernets中，由kubernets在进行自身逻辑处理时对扩展逻辑进行回调。&lt;/p&gt;&#xA;&lt;p&gt;Istio 0.7版本就利用了Kubernets webhook实现了sidecar的自动注入。&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用Algolia为Gitpage博客提供站内搜索</title>
      <link>https://davidpaulyoung.com/2018/05/21/algolia-integration-with-jekyll/</link>
      <pubDate>Mon, 21 May 2018 11:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/05/21/algolia-integration-with-jekyll/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;This series of articles are my notes of &amp;ldquo;Bitcoin and Cryptocurrency Technologies&amp;rdquo; online course.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;table-of-content&#34;&gt;Table of Content&lt;/h2&gt;&#xA;&lt;p&gt;{:.no_toc}&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Table of Content&#xA;{:toc}&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;scrooge-coin-transaction&#34;&gt;Scrooge Coin Transaction&lt;/h2&gt;&#xA;&lt;p&gt;Scrooge Coin programming assignment is a little bit tricky, the video of this lesson hasn&amp;rsquo;t explained some implementation details. To help you understand the transaction data structure used in Scrooge Coin, I draw this diagram:&#xA;&lt;img src=&#34;https://davidpaulyoung.com/img/2018-5-20-cryptocurrency_week1_scroogecoin/scroogecoin.png&#34; alt=&#34;Scrooge Coin&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>川西秘境探险</title>
      <link>https://davidpaulyoung.com/2018/05/01/may-day-jiulonghu/</link>
      <pubDate>Tue, 01 May 2018 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/05/01/may-day-jiulonghu/</guid>
      <description>&lt;h2 id=&#34;寻浮云牧场不遇&#34;&gt;寻浮云牧场不遇&lt;/h2&gt;&#xA;&lt;p&gt;五一节前的一周内，几个朋友就纷纷坐不住了，一个二个不再安心上班，开始在微信群里讨论过节要到哪里耍。&#xA;大家思来想去，最后决定还是去理县方向。因为根据多年自驾的经验，只要出了汶川，沿途都是风景。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Helm介绍</title>
      <link>https://davidpaulyoung.com/2018/04/16/using-helm-to-deploy-to-kubernetes/</link>
      <pubDate>Mon, 16 Apr 2018 15:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/04/16/using-helm-to-deploy-to-kubernetes/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Helm是Kubernetes生态系统中的一个软件包管理工具。本文将介绍为何要使用Helm进行Kubernetes软件包管理，澄清Helm中使用到的相关概念，并通过一个具体的示例学习如何使用Helm打包，分发，安装，升级及回退Kubernetes应用。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Service Mesh 和 API Gateway的关系探讨（译文）</title>
      <link>https://davidpaulyoung.com/2018/04/11/service-mesh-vs-api-gateway/</link>
      <pubDate>Wed, 11 Apr 2018 09:32:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/04/11/service-mesh-vs-api-gateway/</guid>
      <description>&lt;h2 id=&#34;service-mesh-vs-api-gateway&#34;&gt;Service Mesh vs API Gateway&lt;/h2&gt;&#xA;&lt;p&gt;在&lt;a href=&#34;https://medium.com/microservices-in-practice/service-mesh-for-microservices-2953109a3c9a&#34;&gt;前一篇关于Service Mesh的文章&lt;/a&gt;中,我提到了几个关于Service Mesh和API Gateway之间关系的问题，在本篇文章中，我打算就Service Mesh和API Gateway的用途进行进一步讨论。&lt;/p&gt;</description>
    </item>
    <item>
      <title>谈谈微服务架构中的基础设施：Service Mesh与Istio</title>
      <link>https://davidpaulyoung.com/2018/03/29/what-is-service-mesh-and-istio/</link>
      <pubDate>Thu, 29 Mar 2018 12:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/03/29/what-is-service-mesh-and-istio/</guid>
      <description>&lt;h2 id=&#34;微服务架构的演进&#34;&gt;微服务架构的演进&lt;/h2&gt;&#xA;&lt;p&gt;作为一种架构模式，微服务将复杂系统切分为数十乃至上百个小服务，每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改，并带来了语言和框架选择灵活性，缩短应用开发上线时间，可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。&lt;/p&gt;&#xA;&lt;p&gt;另一方面，当应用被拆分为多个微服务进程后，进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性。&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何配置docker使用HTTP代理</title>
      <link>https://davidpaulyoung.com/2018/03/13/use-docker-behind-http-proxy/</link>
      <pubDate>Tue, 13 Mar 2018 18:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/03/13/use-docker-behind-http-proxy/</guid>
      <description>&lt;h2 id=&#34;ubuntu&#34;&gt;Ubuntu&lt;/h2&gt;&#xA;&lt;h3 id=&#34;设置docker使用http-proxy&#34;&gt;设置docker使用http proxy&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo /etc/default/docker&#xA;&#xA;export http_proxy=&amp;#34;http://127.0.0.1:3128/&amp;#34;&#xA;export https_proxy=&amp;#34;http://127.0.0.1:3128/&amp;#34;&#xA;export HTTP_PROXY=&amp;#34;http://127.0.0.1:3128/&amp;#34;&#xA;export HTTPS_PROXY=&amp;#34;http://127.0.0.1:3128/&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Vim Tips</title>
      <link>https://davidpaulyoung.com/2018/02/09/vim-tips/</link>
      <pubDate>Fri, 09 Feb 2018 11:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/02/09/vim-tips/</guid>
      <description>&lt;h2 id=&#34;vim-graphical-cheat-sheet&#34;&gt;vim graphical cheat sheet&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;//img/2018-02-09-vim-tips/vi-vim-cheat-sheet.svg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何使用非root用户执行docker命令</title>
      <link>https://davidpaulyoung.com/2018/02/09/docker-without-sudo/</link>
      <pubDate>Fri, 09 Feb 2018 10:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/02/09/docker-without-sudo/</guid>
      <description>&lt;h3 id=&#34;add-the-docker-group-if-it-doesnt-already-exist&#34;&gt;Add the docker group if it doesn&amp;rsquo;t already exist:&lt;/h3&gt;&#xA;&lt;p&gt;sudo groupadd docker&lt;/p&gt;&#xA;&lt;h3 id=&#34;add-the-connected-user-user-to-the-docker-group-change-the-user-name-to-match-your-preferred-user-if-you-do-not-want-to-use-your-current-user&#34;&gt;Add the connected user &amp;ldquo;$USER&amp;rdquo; to the docker group. Change the user name to match your preferred user if you do not want to use your current user:&lt;/h3&gt;&#xA;&lt;p&gt;sudo gpasswd -a $USER docker&lt;/p&gt;&#xA;&lt;h3 id=&#34;either-do-a-newgrp-docker-or-log-outin-to-activate-the-changes-to-groups&#34;&gt;Either do a newgrp docker or log out/in to activate the changes to groups.&lt;/h3&gt;</description>
    </item>
    <item>
      <title>如何构建安全的微服务应用？</title>
      <link>https://davidpaulyoung.com/2018/05/22/user_authentication_authorization/</link>
      <pubDate>Sat, 03 Feb 2018 12:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/05/22/user_authentication_authorization/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;p&gt;微服务架构的引入为软件应用带来了诸多好处：包括小开发团队，缩短开发周期，语言选择灵活性，增强服务伸缩能力等。与此同时，也引入了分布式系统的诸多复杂问题。其中一个挑战就是如何在微服务架构中实现一个灵活，安全，高效的认证和鉴权方案。本文将尝试就此问题进行一次比较完整的探讨。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nginx开源Service Mesh组件Nginmesh安装指南</title>
      <link>https://davidpaulyoung.com/2018/01/02/nginmesh-install/</link>
      <pubDate>Tue, 02 Jan 2018 12:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2018/01/02/nginmesh-install/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;p&gt;Nginmesh是NGINX的Service Mesh开源项目，用于Istio服务网格平台中的数据面代理。它旨在提供七层负载均衡和服务路由功能，与Istio集成作为sidecar部署，并将以“标准，可靠和安全的方式”使得服务间通信更容易。Nginmesh在今年底已经连续发布了0.2和0.3版本，提供了服务发现，请求转发，路由规则，性能指标收集等功能。&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何从外部访问Kubernetes集群中的应用？</title>
      <link>https://davidpaulyoung.com/2017/11/28/access-application-from-outside/</link>
      <pubDate>Tue, 28 Nov 2017 12:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2017/11/28/access-application-from-outside/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;p&gt;我们知道，kubernetes的Cluster Network属于私有网络，只能在cluster Network内部才能访问部署的应用，那如何才能将Kubernetes集群中的应用暴露到外部网络，为外部用户提供服务呢？本文探讨了从外部网络访问kubernetes cluster中应用的几种实现方式。&lt;/p&gt;</description>
    </item>
    <item>
      <title>采用Istio实现灰度发布(金丝雀发布)</title>
      <link>https://davidpaulyoung.com/2017/11/08/istio-canary-release/</link>
      <pubDate>Wed, 08 Nov 2017 15:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2017/11/08/istio-canary-release/</guid>
      <description>&lt;h2 id=&#34;灰度发布又名金丝雀发布介绍&#34;&gt;灰度发布（又名金丝雀发布）介绍&lt;/h2&gt;&#xA;&lt;p&gt;当应用上线以后，运维面临的一大挑战是如何能够在不影响已上线业务的情况下进行升级。做过产品的同学都清楚，不管在发布前做过多么完备的自动化和人工测试，在发布后都会出现或多或少的故障。根据墨菲定律，可能会出错的版本发布一定会出错。&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用Istio实现应用流量转移</title>
      <link>https://davidpaulyoung.com/2017/11/07/istio-traffic-shifting/</link>
      <pubDate>Tue, 07 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2017/11/07/istio-traffic-shifting/</guid>
      <description>&lt;p&gt;关于Istio的更多内容请参考&lt;a href=&#34;http://istio.doczh.cn/&#34;&gt;istio中文文档&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;原文参见&lt;a href=&#34;https://istio.io/docs/tasks/traffic-management/traffic-shifting.html&#34;&gt;Traffic Shifting&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;本任务将演示如何将应用流量逐渐从旧版本的服务迁移到新版本。通过Istio，可以使用一系列不同权重的规则（10%，20%，··· 100%）将流量平缓地从旧版本服务迁移到新版本服务。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Istio及Bookinfo示例程序安装试用笔记</title>
      <link>https://davidpaulyoung.com/2017/11/04/istio-install_and_example/</link>
      <pubDate>Sat, 04 Nov 2017 12:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2017/11/04/istio-install_and_example/</guid>
      <description>&lt;h2 id=&#34;服务网格简介&#34;&gt;服务网格简介&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;服务网格&lt;/strong&gt;（Service Mesh）是为解决微服务的通信和治理而出现的一种&lt;strong&gt;架构模式&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;服务网格将服务间通讯以及与此相关的管理控制功能从业务程序中下移到一个基础设施层，从而彻底隔离了业务逻辑和服务通讯两个关注点。采用服务网格后，应用开发者只需要关注并实现应用业务逻辑。服务之间的通信，包括服务发现，通讯的可靠性，通讯的安全性，服务路由等由服务网格层进行处理，并对应用程序透明。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Welcome to Zhaohuabing Blog</title>
      <link>https://davidpaulyoung.com/2017/11/03/hello-world/</link>
      <pubDate>Sat, 04 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/2017/11/03/hello-world/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;“Yeah It&amp;rsquo;s on. ”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;hello-world&#34;&gt;Hello World!&lt;/h2&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://davidpaulyoung.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/about/</guid>
      <description>&lt;h2 id=&#34;about-david-young&#34;&gt;About David Young&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Huabing Zhao&lt;/em&gt;&lt;/strong&gt; 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.&lt;/p&gt;&#xA;&lt;p&gt;Throughout his career, he has built a number of large-scale, cross-country software systems, most of them are still running in production.&lt;/p&gt;&#xA;&lt;p&gt;He loves open source and has been contributing to various open source projects, he is a member of Istio,  previous PTL of ONAP, the author of the Hugo clean-white theme and the open source project Aeraki Mesh.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://davidpaulyoung.com/notes/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/notes/</guid>
      <description>&lt;h2 id=&#34;go-语言学习笔记&#34;&gt;&lt;a href=&#34;https://zhaohuabing.com/learning-golang&#34;&gt;Go 语言学习笔记&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;envoy-学习笔记&#34;&gt;&lt;a href=&#34;https://zhaohuabing.com/learning-envoy&#34;&gt;Envoy 学习笔记&lt;/a&gt;&lt;/h2&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://davidpaulyoung.com/search/placeholder/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/search/placeholder/</guid>
      <description></description>
    </item>
    <item>
      <title>Posts Archive</title>
      <link>https://davidpaulyoung.com/archive/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://davidpaulyoung.com/archive/</guid>
      <description></description>
    </item>
  </channel>
</rss>
