<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Micah&#39;s Space</title>
    <link>https://micah.wiki/</link>
    <description>Recent content on Micah&#39;s Space</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 15 Mar 2024 21:38:06 +0800</lastBuildDate>
    <atom:link href="https://micah.wiki/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Mac安装homepage</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/devops/mac_install_homepage/</link>
      <pubDate>Fri, 15 Mar 2024 21:38:06 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/devops/mac_install_homepage/</guid>
      <description>&lt;h2 id=&#34;1-homepage介绍&#34;&gt;1. homepage介绍&lt;/h2&gt;&#xA;&lt;p&gt;官网地址：&lt;a href=&#34;https://gethomepage.dev/latest/&#34;&gt;这里&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;一个现代化、完全静态、快速、安全、完全代理、高度可定制的应用程序仪表板，集成了 100 多种服务，并可翻译成多种语言。通过 YAML 文件或 &lt;a href=&#34;coco://sendMessage?ext=%7B%22s%24wiki_link%22%3A%22https%3A%2F%2Fm.baike.com%2Fwikiid%2F1782721469276222823%22%7D&amp;amp;msg=Docker&#34;&gt;Docker&lt;/a&gt; 标签发现轻松配置。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;2-为什么要写这个&#34;&gt;2. 为什么要写这个？&lt;/h2&gt;&#xA;&lt;p&gt;因为官网提供的是docker、k8s等安装方式，并没有提供mac本地安装，而我想在自己电脑上有这么一个。所以就要用源码安装了。&lt;/p&gt;&#xA;&lt;h2 id=&#34;3-普通安装会出来什么问题&#34;&gt;3. 普通安装会出来什么问题？&lt;/h2&gt;&#xA;&lt;p&gt;mac新版本用iTrem2的&lt;code&gt;nohup&lt;/code&gt;启动后，退出iTrem2后，Session会关闭，导致&lt;code&gt;nohup&lt;/code&gt;不成功&lt;/p&gt;&#xA;&lt;h2 id=&#34;4-如何处理&#34;&gt;4. 如何处理？&lt;/h2&gt;&#xA;&lt;h3 id=&#34;41-下载源码切换分支&#34;&gt;4.1 下载源码，切换分支&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/gethomepage/homepage.git HomePage&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git checkout tags/v0.8.9&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;42-确定node版本编译&#34;&gt;4.2 确定node版本，编译&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-shel&#34; data-lang=&#34;shel&#34;&gt;# 应该在18以上，我是20&#xA;# 到工作目录&#xA;npm install -g pnpm&#xA;pnpm install&#xA;pnpm build&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;43-创建plist&#34;&gt;4.3 创建plist&lt;/h3&gt;&#xA;&lt;p&gt;地址：&lt;code&gt;~/Library/LaunchAgents&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;名称：&lt;code&gt;wiki.micah.homepage.plist&lt;/code&gt; 注意，这里必须plist结尾的&lt;/p&gt;&#xA;&lt;p&gt;内容：&lt;code&gt;xxx&lt;/code&gt;表示你的用户目录&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;?xml version&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt; encoding&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt;?&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;!DOCTYPE plist PUBLIC &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-//Apple//DTD PLIST 1.0//EN&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;plist version&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;lt;dict&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;Label&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;string&amp;gt;wiki.micah.homepage&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;RunAtLoad&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;true/&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;KeepAlive&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;true/&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;ThrottleInterval&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;integer&amp;gt;60&amp;lt;/integer&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;EnvironmentVariables&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;dict&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &amp;lt;key&amp;gt;HOME_DIR&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &amp;lt;string&amp;gt;/Users/xxx&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &amp;lt;key&amp;gt;APP_DIR&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &amp;lt;string&amp;gt;/Users/xxx/gethomepage/homepage&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &amp;lt;key&amp;gt;HOMEPAGE_ALLOWED_HOSTS&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &amp;lt;string&amp;gt;homepage.xxxx,localhost:3000&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;/dict&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;ProgramArguments&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;array&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;string&amp;gt;/bin/zsh&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;string&amp;gt;-c&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;string&amp;gt;-l&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;string&amp;gt;source $HOME_DIR/.zshrc; /Users/micah/xxx/bin/pnpm start&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;/array&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;WorkingDirectory&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;string&amp;gt;/Users/xxx/gethomepage/homepage&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;StandardOutPath&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;string&amp;gt;/Users/xxx/homepage.micah.wiki.node.info.log&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;key&amp;gt;StandardErrorPath&amp;lt;/key&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;string&amp;gt;/Users/xxx/logs/homepage.micah.wiki.node.error.log&amp;lt;/string&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;lt;/dict&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/plist&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;44-加入到启动项目中&#34;&gt;4.4 加入到启动项目中&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 加入到启动项目&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;launchctl load ~/Library/LaunchAgents/wiki.micah.homepage.plist&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 从启动项目删除&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;launchctl unload ~/Library/LaunchAgents/wiki.micah.homepage.plist&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>2023年终</title>
      <link>https://micah.wiki/posts/1.learning/a4.personalplanning/2023%E5%B9%B4%E7%BB%88%E6%80%BB%E7%BB%93/</link>
      <pubDate>Sun, 05 Nov 2023 22:22:21 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a4.personalplanning/2023%E5%B9%B4%E7%BB%88%E6%80%BB%E7%BB%93/</guid>
      <description>&lt;p&gt;2022年是我的本命年，5月份知道&lt;/p&gt;</description>
    </item>
    <item>
      <title>Springboot问题汇总</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/java/springboot-problem/</link>
      <pubDate>Sat, 14 Oct 2023 21:43:48 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/java/springboot-problem/</guid>
      <description>&lt;h3 id=&#34;1-编写starter时引用后无法获取到bean&#34;&gt;1. 编写starter时，引用后无法获取到bean&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;环境：使用版本Springboot3.1.4版本&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;问题：之前写starter的时候，一直是按照网上的教程，大部分是Springboot2.x版本，但自己使用了最新版本Springboot3.1.4版本，所以一直不成功。&lt;/p&gt;&#xA;&lt;p&gt;深入代码查看后，发现以下跟老版本不一致。&lt;/p&gt;&#xA;&lt;p&gt;新版本：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;SpringBootApplication --&amp;gt; EnableAutoConfiguration --&amp;gt; AutoConfigurationImportSelector.getCandidateConfigurations --&amp;gt; ImportCandidates.load --&amp;gt; LOCATION --&amp;gt; &amp;#34;META-INF/spring/%s.imports&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;老版本：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;SpringBootApplication --&amp;gt; EnableAutoConfiguration --&amp;gt; AutoConfigurationImportSelector.getCandidateConfigurations --&amp;gt; SpringFactoriesLoader.loadFactoryNames --&amp;gt; Factories_RESOURCE_LOCATION --&amp;gt; &amp;#34;META-INF/spring.factories&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;所以按照新版 &lt;code&gt; META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports&lt;/code&gt; 进行编写的，可以正常识别。&lt;/p&gt;&#xA;&lt;p&gt;注意：&lt;/p&gt;&#xA;&lt;p&gt;这里的内容也不一样了，之前是需要写入一行，新版本支持多行格式&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enumeration&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;URL&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; urls &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; findUrlsInClasspath(classLoaderToUse, location);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;List&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; importCandidates &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; ArrayList&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;gt;&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; (urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;hasMoreElements&lt;/span&gt;()) { &lt;span style=&#34;color:#75715e&#34;&gt;// 如果有多行，直接支持了，把所有的都加入到importCandidates中去了&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;URL url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;nextElement&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;importCandidates.&lt;span style=&#34;color:#a6e22e&#34;&gt;addAll&lt;/span&gt;(readCandidateConfigurations(url));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>云存储工具</title>
      <link>https://micah.wiki/posts/2.work/b1.taskmanagement/cloudstorageutil/</link>
      <pubDate>Thu, 12 Oct 2023 13:36:49 +0800</pubDate>
      <guid>https://micah.wiki/posts/2.work/b1.taskmanagement/cloudstorageutil/</guid>
      <description>&lt;h2 id=&#34;目标&#34;&gt;目标&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;支持oss、obs厂商，支持横向扩展&lt;/li&gt;&#xA;&lt;li&gt;基于spi方式接入&lt;/li&gt;&#xA;&lt;li&gt;支持厂商存储切换，屏蔽底层实现&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;调查内容&#34;&gt;调查内容&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-如何实现spi&#34;&gt;1. 如何实现spi&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Configuration&lt;/li&gt;&#xA;&lt;li&gt;配置类&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-做什么东西&#34;&gt;2. 做什么东西&lt;/h3&gt;</description>
    </item>
    <item>
      <title>2023-10-10</title>
      <link>https://micah.wiki/posts/5.daily/2023-10/2023-10-10/</link>
      <pubDate>Tue, 10 Oct 2023 16:47:47 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-10/2023-10-10/</guid>
      <description>&lt;p&gt;今天入职了外包，心情非常的低落，真的不知道自己原来混的这么惨&lt;/p&gt;</description>
    </item>
    <item>
      <title>SpringSecurity</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/java/spring-security/</link>
      <pubDate>Sun, 08 Oct 2023 11:02:46 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/java/spring-security/</guid>
      <description>&lt;h1 id=&#34;springsecurity从入门到精通&#34;&gt;SpringSecurity从入门到精通&lt;/h1&gt;&#xA;&lt;h2 id=&#34;课程介绍&#34;&gt;课程介绍&lt;/h2&gt;&#xA;&lt;p&gt;本课件由&lt;a href=&#34;https://www.bilibili.com/video/BV1mm4y1X7Hc/?p=41&amp;amp;spm_id_from=pageDriver&amp;amp;vd_source=067df4c4078ab51487a2fc9a2d763ceb&#34;&gt;三更草堂&lt;/a&gt;录制， 如果侵权，请联系&lt;!-- raw HTML omitted --&gt;&lt;a href=&#34;mailto:micah.shi@gmail.com&#34;&gt;micah.shi@gmail.com&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202310081104919.png&#34; alt=&#34;image-20211219121555979&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;0-简介&#34;&gt;0. 简介&lt;/h2&gt;&#xA;&lt;p&gt;​&#x9;&lt;strong&gt;Spring Security&lt;/strong&gt; 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架&lt;strong&gt;Shiro&lt;/strong&gt;，它提供了更丰富的功能，社区资源也比Shiro丰富。&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;一般来说中大型的项目都是使用&lt;strong&gt;SpringSecurity&lt;/strong&gt; 来做安全框架。小项目有Shiro的比较多，因为相比与SpringSecurity，Shiro的上手更加的简单。&lt;/p&gt;&#xA;&lt;p&gt;​&#x9; 一般Web应用的需要进行&lt;strong&gt;认证&lt;/strong&gt;和&lt;strong&gt;授权&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;&#x9;&lt;strong&gt;认证：验证当前访问系统的是不是本系统的用户，并且要确认具体是哪个用户&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;&#x9;&lt;strong&gt;授权：经过认证后判断当前用户是否有权限进行某个操作&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;而认证和授权也是SpringSecurity作为安全框架的核心功能。&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-快速入门&#34;&gt;1. 快速入门&lt;/h2&gt;&#xA;&lt;h3 id=&#34;11-准备工作&#34;&gt;1.1 准备工作&lt;/h3&gt;&#xA;&lt;p&gt;​&#x9;我们先要搭建一个简单的SpringBoot工程&lt;/p&gt;&#xA;&lt;p&gt;① 设置父工程 添加依赖&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;parent&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.boot&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-boot-starter-parent&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.5.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/parent&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.boot&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-boot-starter-web&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.projectlombok&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;lombok&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;optional&amp;gt;&lt;/span&gt;true&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/optional&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;② 创建启动类&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@SpringBootApplication&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;SecurityApplication&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;(String&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; args) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        SpringApplication.&lt;span style=&#34;color:#a6e22e&#34;&gt;run&lt;/span&gt;(SecurityApplication.&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;,args);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;③ 创建Controller&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu服务器初始化</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/devops/ubuntu_init/</link>
      <pubDate>Sat, 30 Sep 2023 18:21:47 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/devops/ubuntu_init/</guid>
      <description>&lt;h1 id=&#34;初始化需要的步骤&#34;&gt;初始化需要的步骤&lt;/h1&gt;&#xA;&lt;h2 id=&#34;1-更新&#34;&gt;1. 更新&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;2-安装软件&#34;&gt;2. 安装软件&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install nginx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 修改启动用户为root &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi /etc/nginx/nginx.conf &lt;span style=&#34;color:#75715e&#34;&gt;# 第一行&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# user root;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>TodoList</title>
      <link>https://micah.wiki/posts/todo/</link>
      <pubDate>Mon, 25 Sep 2023 16:19:17 +0800</pubDate>
      <guid>https://micah.wiki/posts/todo/</guid>
      <description>&lt;h1 id=&#34;todo-list&#34;&gt;Todo List&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 整理看奥运线路及计划&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 学习Vue&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 梳理人脉关系&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 拍视频应该怎么弄&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;生活&lt;/p&gt;&#xA;&lt;p&gt;工作&lt;/p&gt;&#xA;&lt;p&gt;学习&lt;/p&gt;&#xA;&lt;p&gt;拖延&lt;/p&gt;&#xA;&lt;p&gt;休息&lt;/p&gt;</description>
    </item>
    <item>
      <title>2023-09-25</title>
      <link>https://micah.wiki/posts/5.daily/2023-09/2023-09-25/</link>
      <pubDate>Mon, 25 Sep 2023 16:18:23 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-09/2023-09-25/</guid>
      <description></description>
    </item>
    <item>
      <title>2023-09-23</title>
      <link>https://micah.wiki/posts/5.daily/2023-09/2023-09-23/</link>
      <pubDate>Sat, 23 Sep 2023 15:15:09 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-09/2023-09-23/</guid>
      <description>&lt;h1 id=&#34;梳理我可以做什么&#34;&gt;梳理我可以做什么&lt;/h1&gt;&#xA;&lt;h2 id=&#34;一时间管理&#34;&gt;一、时间管理&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-评分标准&#34;&gt;1. 评分标准&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;输出一份pdf或者是文档&lt;/li&gt;&#xA;&lt;li&gt;分析优先级别&lt;/li&gt;&#xA;&lt;li&gt;指定完成时间&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-作业管理&#34;&gt;2. 作业管理&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;工作要找什么样的&lt;/li&gt;&#xA;&lt;li&gt;副业要做什么样的，是否可行&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;二任务管理&#34;&gt;二、任务管理&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-任务拆解&#34;&gt;1. 任务拆解&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;方向头脑风暴&lt;/li&gt;&#xA;&lt;li&gt;具体细节明确&lt;/li&gt;&#xA;&lt;li&gt;实施方案是如何的&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-生产力工具&#34;&gt;2. 生产力工具&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;网络&lt;/li&gt;&#xA;&lt;li&gt;电脑&lt;/li&gt;&#xA;&lt;li&gt;朋友&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-完成后的激励&#34;&gt;3. 完成后的激励&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;看一本电影&lt;/li&gt;&#xA;&lt;li&gt;玩一会游戏&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;三环境&#34;&gt;三、环境&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-消除分心&#34;&gt;1. 消除分心&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;把自己心态调整好&lt;/li&gt;&#xA;&lt;li&gt;让自己处于明朗的环境中&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-减少干扰&#34;&gt;2. 减少干扰&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;施小肉不在的时候&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;四态度&#34;&gt;四、态度&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-合理安排&#34;&gt;1. 合理安排&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;时间：2023-09-24周末完成大纲&lt;/li&gt;&#xA;&lt;li&gt;细节：下周二完成网上的调查，下周四摸索线下的调查&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;2-量力而行&#34;&gt;2. 量力而行&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;第一点：改变自己的态度&lt;/li&gt;&#xA;&lt;li&gt;第二点：去做事情&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>拖延症解决办法</title>
      <link>https://micah.wiki/posts/1.learning/a4.personalplanning/procrastination/</link>
      <pubDate>Sat, 23 Sep 2023 14:43:21 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a4.personalplanning/procrastination/</guid>
      <description>&lt;p&gt;对于拖延症，不知道怎么去解决，其实很多办法都能够帮助自己&lt;/p&gt;&#xA;&lt;p&gt;下面是xmind对应的拖延症的一个思路&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# 任务名称&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## 一、时间管理&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 1. 评分标准&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 2. 作业管理&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## 二、任务管理&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 1. 任务拆解&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 2. 生产力工具&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 3. 完成后的激励&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## 三、环境&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 1. 消除分心&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 2. 减少干扰&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;## 四、态度&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 1. 合理安排&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;### 2. 量力而行&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;用上面的任务，来解决拖延症的问题，尝试尝试&lt;/p&gt;</description>
    </item>
    <item>
      <title>数组双指针</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/algorithm/arraydoublepoint/</link>
      <pubDate>Thu, 21 Sep 2023 17:10:12 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/algorithm/arraydoublepoint/</guid>
      <description></description>
    </item>
    <item>
      <title>链表转换</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/algorithm/linklistreverse/</link>
      <pubDate>Wed, 20 Sep 2023 07:53:39 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/algorithm/linklistreverse/</guid>
      <description>&lt;p&gt;这里没有记住，需要在吸收下&lt;/p&gt;&#xA;&lt;h2 id=&#34;链表反转&#34;&gt;链表反转&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://leetcode.cn/problems/reverse-linked-list/&#34;&gt;206. 反转链表&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;for循环处理&#34;&gt;for循环处理&lt;/h3&gt;&#xA;&lt;p&gt;时间复杂度O(N)（循环整个链表）,空间复杂度O(1)，只有几个临时变量&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;其实链表反转，无非就是上面这张图。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;记录current的next节点（因为这里current的next需要指向pre）&lt;/li&gt;&#xA;&lt;li&gt;把current的next指向pre&lt;/li&gt;&#xA;&lt;li&gt;把current节点变成pre节点&lt;/li&gt;&#xA;&lt;li&gt;把next节点变成current节点&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;最后当current节点变成空时，pre节点就是反转后的链表&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;代码如下：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;// 把头指向当前&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pre&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ListNode&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;// 做一个pre节点&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;next&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;// 1.记录当前的下一个节点&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;pre&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;// 2.把当前的next指向pre&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;pre&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;// 3.把current节点变成pre节点&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;next&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;// 4.把next节点变成current节点&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pre&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;迭代处理&#34;&gt;迭代处理&lt;/h3&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202309200920953.png&#34; alt=&#34;image-20230920092045168&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;核心思想：“2”节点后面的额所有元素都进过反转了，但是head“1”节点的next还是指向了“2”，所以可以直接把“2”的next指向head，这样就有反转后的链表了&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;last&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;reverse&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;last&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;反转链表中间部分&#34;&gt;反转链表中间部分&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://leetcode.cn/problems/reverse-linked-list-ii/&#34;&gt;92. 反转链表 II&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;for-循环处理&#34;&gt;for 循环处理&lt;/h3&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202309200930649.png&#34; alt=&#34;image-20230920093054992&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这里分成三部分：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;前段：不需要反转的&lt;/li&gt;&#xA;&lt;li&gt;中段：需要反转的&lt;/li&gt;&#xA;&lt;li&gt;后段：不需要反转的&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;如果这里left是0，那么就会出现前段为空，那么一般情况是加上dummy节点来处理。步骤分别是：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;把p0的next的next指向current&lt;/li&gt;&#xA;&lt;li&gt;把p0的next是pre&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;dummy&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ListNode&lt;/span&gt;{&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;: &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dummy&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &amp;lt; &lt;span style=&#34;color:#a6e22e&#34;&gt;left&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt; { &lt;span style=&#34;color:#75715e&#34;&gt;// 注意：这里需要left-1，而不是left，因为需要少一个&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p0&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;p0&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;pre&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ListNode&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;p0&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &amp;lt; &lt;span style=&#34;color:#a6e22e&#34;&gt;right&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;left&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;next&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;pre&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;pre&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;next&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p0&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;current&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;// 把p0的next的next指向current&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p0&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;pre&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;// 把p0的next是pre&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;dummy&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;迭代处理-1&#34;&gt;迭代处理&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;successor&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ListNode&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;reverseN&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;func&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ListNode&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;n&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ListNode&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;reverseN&lt;/span&gt; = &lt;span style=&#34;color:#66d9ef&#34;&gt;func&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ListNode&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;n&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ListNode&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;n&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;successor&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;last&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;reverseN&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;n&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;successor&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;last&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;left&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;reverseN&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;right&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;reverseBetween&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;left&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;right&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;head&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;按照固定的k个长度进行反转&#34;&gt;按照固定的K个长度进行反转&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://leetcode.cn/problems/reverse-nodes-in-k-group/&#34;&gt;25. K 个一组翻转链表&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>链表双指针</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/algorithm/linklistdoublepoint/</link>
      <pubDate>Tue, 19 Sep 2023 16:29:57 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/algorithm/linklistdoublepoint/</guid>
      <description>&lt;p&gt;到现在面试经历过很多次了，却很少有成功，之前拒掉了几次面试，现在非常后悔。&lt;/p&gt;&#xA;&lt;p&gt;这里记录下之前面试的他们的算法题&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-如何判断一个链表有环&#34;&gt;1. 如何判断一个链表有环&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;快慢指针可以解决这个问题&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;使用快慢指针。这里&lt;!-- raw HTML omitted --&gt;为什么会相遇&lt;!-- raw HTML omitted --&gt;？最坏的打算当慢指针走一圈的时候，快指针可以走两圈，所以刚好会在同一个点上面。&lt;/p&gt;&#xA;&lt;p&gt;如果最后指向null，则说明没有环，如果最后走到了相同点，则说明有环。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;如何判断该环的起点在什么地方&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202309191634061.png&#34; alt=&#34;image-20230919163443270&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;可以假设 环起点 到相遇点的距离为 m&lt;/li&gt;&#xA;&lt;li&gt;那么head到 环起点 刚好是 k-m&lt;/li&gt;&#xA;&lt;li&gt;因为慢指针走了 k 步快指针走了 2k 步相遇了，那么相遇点到快指针的相遇点（N圈之后的相遇点）距离就变成了 2k-k=k 距离一样。那么剪掉相同的环起点到相遇点的 m 都变成了 k-m 步。这样，把任何一个指针的头指针指向 head，用相同的速度，再次相遇点，就是环起点。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;2-两条链表是否相交&#34;&gt;2. 两条链表是否相交&lt;/h2&gt;&#xA;&lt;p&gt;要判断两个链表是否相交，可以判断有没有共同部分，那么共同部分怎么判断呢？&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;最原始的办法：使用map（映射）来记录每个node的信息，java中地址值不存在，可以直接判断引用是否一致。golang可以根据地址是否一致，也可以记录value是否一致（当然存在相同的value的情况就不行了）&lt;/li&gt;&#xA;&lt;li&gt;使用特殊手法，如下图&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202309191707494.png&#34; alt=&#34;image-20230919170716775&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;双指针同时进行&lt;/li&gt;&#xA;&lt;li&gt;迭代A链表，结束后，迭代B链表&lt;/li&gt;&#xA;&lt;li&gt;迭代B链表，结束后，迭代A链表&lt;/li&gt;&#xA;&lt;li&gt;在迭代的时候，判断两个指针是否一致，如果存在一致&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;具体代码可以是&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p1&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;p2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;headA&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;headB&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;p1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;p2&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;p1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p1&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;headB&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p1&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;p1&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;p2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p2&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;headA&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;p2&lt;/span&gt; = &lt;span style=&#34;color:#a6e22e&#34;&gt;p2&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Next&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;p1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这里有个问题，如果一直没有重复的，会怎么样呢？&lt;/p&gt;</description>
    </item>
    <item>
      <title>Go RPC相关及基础信息</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/golang/gorpcbase/</link>
      <pubDate>Fri, 15 Sep 2023 14:26:42 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/golang/gorpcbase/</guid>
      <description>&lt;h2 id=&#34;go-的rpc-相关的基础信息&#34;&gt;Go 的RPC 相关的基础信息&lt;/h2&gt;&#xA;&lt;h2 id=&#34;1-环境配置macos&#34;&gt;1. 环境配置（MacOS）&lt;/h2&gt;&#xA;&lt;h3 id=&#34;11-protoc-安装&#34;&gt;1.1 protoc 安装&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 1. brew 安装&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;brew search protobuf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;brew install protobuf &lt;span style=&#34;color:#75715e&#34;&gt;# 可以指定版本protobuf@21&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 验证是否安装成功&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;protoc --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 2. 源码安装&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://github.com/protocolbuffers/protobuf/releases &lt;span style=&#34;color:#75715e&#34;&gt;#下载对应的版本，放入GOPATH中的bin目录下&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;12-protoc-gen-go-安装&#34;&gt;1.2 protoc-gen-go 安装&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;go install google.golang.org/protobuf/cmd/protoc-gen-go@latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 安装过程中会出现无法下载，需要自行“走强”&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 验证&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;protoc-gen-go help&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# protoc-gen-go: unknown argument &amp;#34;help&amp;#34; (this program should be run by protoc, not directly)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# ps：我觉得只要识别到，就应该安装成功了&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;13-protoc-gen-go-grpc-安装&#34;&gt;1.3 protoc-gen-go-grpc 安装&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 同 protoc-gen-go&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 验证&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;protoc-gen-go-grpc -version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# protoc-gen-go-grpc 1.3.0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;2-proto转成桩代码&#34;&gt;2. Proto转成桩代码&lt;/h2&gt;&#xA;&lt;h3 id=&#34;21-proto-生成&#34;&gt;2.1 proto 生成&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;参考地址：https://protobuf.dev/&lt;/p&gt;</description>
    </item>
    <item>
      <title>2023-09-14</title>
      <link>https://micah.wiki/posts/5.daily/2023-09/2023-09-14/</link>
      <pubDate>Thu, 14 Sep 2023 09:08:50 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-09/2023-09-14/</guid>
      <description>&lt;h1 id=&#34;面试题目&#34;&gt;面试题目&lt;/h1&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;MySQL的合理集群配置&lt;/li&gt;&#xA;&lt;li&gt;Kafka的breaker配置，属于cap满足什么&lt;/li&gt;&#xA;&lt;li&gt;Https的认证过程，https的整个流程&lt;/li&gt;&#xA;&lt;li&gt;7层协议&lt;/li&gt;&#xA;&lt;li&gt;docker的网卡&lt;/li&gt;&#xA;&lt;li&gt;Helm是什么东西&lt;/li&gt;&#xA;&lt;li&gt;微服务的内容（谷歌）istlo&lt;/li&gt;&#xA;&lt;li&gt;Nginx如何优雅的关闭，Golang如何优雅的关闭&lt;/li&gt;&#xA;&lt;li&gt;Zookeeper与ectd的区别&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;面试（2023-09-13下午三点）过程很好，但是却没有消息。心里又失落了&lt;/p&gt;</description>
    </item>
    <item>
      <title>2023-08-30</title>
      <link>https://micah.wiki/posts/5.daily/2023-08/2023-08-30/</link>
      <pubDate>Wed, 30 Aug 2023 16:49:09 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-08/2023-08-30/</guid>
      <description>&lt;p&gt;游卡HR面失败，业务不匹配&lt;/p&gt;</description>
    </item>
    <item>
      <title>JavaAtomic工具类</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/java/java-atomic/</link>
      <pubDate>Fri, 25 Aug 2023 22:21:01 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/java/java-atomic/</guid>
      <description>&lt;h1 id=&#34;atomic工具类&#34;&gt;Atomic*工具类&lt;/h1&gt;&#xA;&lt;h2 id=&#34;atomicboolean&#34;&gt;AtomicBoolean&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-成员变量&#34;&gt;1. 成员变量&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 对应的类中的成员变量句柄&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; VarHandle VALUE;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 存储变量的值&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;volatile&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; value;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-核心&#34;&gt;2. 核心&lt;/h3&gt;&#xA;&lt;p&gt;set时使用句柄（VarHandle）来进行设置value，获取时使用value进行获取&lt;/p&gt;&#xA;&lt;h2 id=&#34;atomicinteger&#34;&gt;AtomicInteger&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-成员变量-1&#34;&gt;1. 成员变量&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; Unsafe U &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Unsafe.&lt;span style=&#34;color:#a6e22e&#34;&gt;getUnsafe&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; VALUE &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; U.&lt;span style=&#34;color:#a6e22e&#34;&gt;objectFieldOffset&lt;/span&gt;(AtomicInteger.&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;value&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;volatile&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; value;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2核心&#34;&gt;2.核心&lt;/h3&gt;&#xA;&lt;p&gt;与Boolean类似&lt;/p&gt;&#xA;&lt;h2 id=&#34;atomiclong&#34;&gt;AtomicLong&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-成员变量-2&#34;&gt;1. 成员变量&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;atomicarray工具类&#34;&gt;Atomic*Array工具类&lt;/h1&gt;&#xA;&lt;h2 id=&#34;atomicintegerarray&#34;&gt;AtomicIntegerArray&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-成员变量-3&#34;&gt;1. 成员变量&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; VarHandle AA &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; MethodHandles.&lt;span style=&#34;color:#a6e22e&#34;&gt;arrayElementVarHandle&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; array;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>2023-08-19</title>
      <link>https://micah.wiki/posts/5.daily/2023-08/2023-08-19/</link>
      <pubDate>Sat, 19 Aug 2023 09:30:02 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-08/2023-08-19/</guid>
      <description>&lt;p&gt;加油加油，争取找到一份满意的工作&lt;/p&gt;</description>
    </item>
    <item>
      <title>2023-07-20</title>
      <link>https://micah.wiki/posts/5.daily/2023-07/2023-07-20/</link>
      <pubDate>Thu, 20 Jul 2023 21:10:25 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-07/2023-07-20/</guid>
      <description>&lt;h1 id=&#34;2023-07-20-日志&#34;&gt;2023-07-20 日志&lt;/h1&gt;&#xA;&lt;p&gt;坑爹的github，无法使用了，phone code 发送失败，让移动的查了下，发现也不行。太坑了&lt;/p&gt;</description>
    </item>
    <item>
      <title>2023-05-23</title>
      <link>https://micah.wiki/posts/5.daily/2023-05/2023-05-23/</link>
      <pubDate>Tue, 23 May 2023 12:47:30 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-05/2023-05-23/</guid>
      <description>&lt;p&gt;每日记录&lt;/p&gt;&#xA;&lt;p&gt;开始要好好看书了&lt;/p&gt;</description>
    </item>
    <item>
      <title>2023-05-05</title>
      <link>https://micah.wiki/posts/5.daily/2023-05/2023-05-05/</link>
      <pubDate>Fri, 05 May 2023 22:13:54 +0800</pubDate>
      <guid>https://micah.wiki/posts/5.daily/2023-05/2023-05-05/</guid>
      <description>&lt;p&gt;玩了两天的魔兽世界，还想去玩，但是zoom的失败，给我打击非常的大。现在就想找点事情做做，今天想到了重装系统，这个有个鸟用。。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mac电脑如何配置有格式的文件夹</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/devops/mac_use_system_localized/</link>
      <pubDate>Thu, 20 Apr 2023 09:01:37 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/devops/mac_use_system_localized/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 文件名命名&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1. 从下面json多语言化中选择一个Key作为文件夹名&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2. 在新建的文件夹名下，创建一个文件&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;touch .localized&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 下面的文件地址： `/System/Library/CoreServices/SystemFolderLocalizations/zh_CN.lproj`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 现在是二进制的，需要转换为其他格式，命令如下：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plutil -convert json SystemFolderLocalizations.strings &lt;span style=&#34;color:#75715e&#34;&gt;# 该命令需要有执行权限的地方，不如拷贝到download下&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 更改图标&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1. 右击查看“显示简介”&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2. 命令行cd到&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt; 然后输入 &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;open .&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;3. 找到最喜欢的图标，然后&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;cmd+c&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;，在简介中的最上面图标点击后&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;cmd+v&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Saved Searches&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;已存储的搜索&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Relocated Items&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;迁移的项目&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Deleted Users&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;已删除的用户&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Favorites&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;个人收藏&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Public&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;公共&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Compositions&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Compositions&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Groups&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;群组&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Documents&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;文稿&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Sites&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;站点&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Network&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;网络&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;System&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;系统&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;My Network&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;我的网络&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Shared Items&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;共享的项目&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;My Applications&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;我的应用程序&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Movies&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;影片&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Mail Downloads&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;邮件下载&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Servers&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;服务器&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Server&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;服务器&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Pictures&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;图片&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Shared&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;共享&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Recovered files&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;恢复的文件&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Configuration&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;配置&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Utilities&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;实用工具&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Security&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;安全性&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Incompatible Software&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;不兼容的软件&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Desktop&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;桌面&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Music&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;音乐&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Faxes&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;传真&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Downloads&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;下载&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Users&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;用户&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Guest&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;客人&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Drop Box&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;投件箱&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Web Receipts&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;网页收据&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Library&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;资源库&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Local&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;本地&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;Applications&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;应用程序&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>TodoList</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/todo/</link>
      <pubDate>Thu, 13 Apr 2023 19:57:12 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/todo/</guid>
      <description>&lt;p&gt;TODO未整理&lt;/p&gt;&#xA;&lt;p&gt;golang的gc，gmp模型，context作用，channel原理，并发打印数字，slice和map原理&#xA;kafka的重平衡，高水位，顺序消费，怎么保证消息不丢失&#xA;rocketmq怎么实现事物消息&#xA;redis数据结构，zset原理，介绍cluster已经怎么保证高可用，哨兵模式介绍&#xA;mysql聚簇索引，索引优化，结合业务怎么分库分表，为啥一个表超过1000w性能会变差&lt;/p&gt;&#xA;&lt;p&gt;压测，限流&#xA;降怎么保证服务高可用，限流熔断降级压测都要提下&#xA;监控报警这些&#xA;限流有哪些算法，以及却别要知道下&#xA;熔断策略是啥&#xA;限流：窗口计数，滑动窗口，漏桶，令牌桶&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;webrtc是什么技术&lt;/li&gt;&#xA;&lt;li&gt;webrtc与不同的socket通信有什么区别&lt;/li&gt;&#xA;&lt;li&gt;webrtc如何实现连麦、直播的&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/20230322152028665.png&#34; alt=&#34;image-20230322152028665&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;计算方式&#34;&gt;计算方式&lt;/h1&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;名称&lt;/th&gt;&#xA;          &lt;th&gt;计算方式&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;redis&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;http://www.redis.cn/redis_memory/&#34;&gt;http://www.redis.cn/redis_memory/&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;mysql&lt;/td&gt;&#xA;          &lt;td&gt;select &lt;!-- raw HTML omitted --&gt;table_schema as &amp;lsquo;数据库&amp;rsquo;,&lt;!-- raw HTML omitted --&gt;sum(table_rows) as &amp;lsquo;记录数&amp;rsquo;,&lt;!-- raw HTML omitted --&gt;sum(truncate(data_length/1024/1024, 2)) as &amp;lsquo;数据容量(MB)&amp;rsquo;,&lt;!-- raw HTML omitted --&gt;sum(truncate(index_length/1024/1024, 2)) as &amp;lsquo;索引容量(MB)&amp;rsquo;&lt;!-- raw HTML omitted --&gt;from information_schema.tables&lt;!-- raw HTML omitted --&gt;where table_schema=&amp;lsquo;mysql&amp;rsquo;;&lt;!-- raw HTML omitted --&gt;参考地址： &lt;a href=&#34;https://blog.csdn.net/fdipzone/article/details/80144166&#34;&gt;https://blog.csdn.net/fdipzone/article/details/80144166&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>宇宙遐想</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/universe1/</link>
      <pubDate>Thu, 16 Feb 2023 00:24:42 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/universe1/</guid>
      <description>&lt;p&gt;以下内容属于遐想，并非真实&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;&#x9;在宇宙诞生之前，存在着无限寿命的灵魂，它们融合后形成了宇宙。这时宇宙中出现了一个强大的“帝国文明”，由于“帝国文明”的庞大，也出现了一些坏人，因此遥远的地球被用作监狱。地球被建立了一个保护罩，防止这些坏人逃离并被植入两个概念：向往光明和留在地球。随着时间的推移，“帝国文明”内部发生动乱，叛乱者也被送到地球监狱。&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;&#x9;由于这些灵魂无法在地球上生存，它们只能寄生于地球上的生物，如类人猿。这些灵魂植入寄生体后，保护罩会封存它们的记忆，并将它们送回地球上进行寄生。&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;&#x9;直到另一个“领地文明”出现后，与“帝国文明”进行了战争，而地球正好位于两个文明的交叉地带。当交战开始时，领地文明发现了地球，想破坏保护罩救出地球上的灵魂。他们派出了3000勇士，但貌似没有成功。在这些勇士的领导下，地球上的苏美尔文明、埃及文明等得以诞生。&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;&#x9;最终，领地文明战胜了帝国文明，但地球不适合灵魂居住，因此领地文明并未继续投入资源，只会巡查并维护整个宇宙的稳定。当地球上出现核信号时，会有飞船来扫描并确认安全后离去。&lt;/p&gt;&#xA;&lt;p&gt;​&#x9;&#x9;而地球外层保护罩存在周期性减弱，当减弱时，会出现一些引领地球快速发展的人物，如牛顿、莱布尼茨、胡克、哈雷、列夫托尔斯泰和亚历山大等。&lt;/p&gt;</description>
    </item>
    <item>
      <title>基础知识</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/golang/basetech/</link>
      <pubDate>Wed, 01 Feb 2023 14:26:42 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/golang/basetech/</guid>
      <description>&lt;ol&gt;&#xA;&lt;li&gt;数组与切片&lt;/li&gt;&#xA;&lt;li&gt;范型&lt;/li&gt;&#xA;&lt;li&gt;String.Builder&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>设计模式</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/golang/designpattern/</link>
      <pubDate>Wed, 01 Feb 2023 14:26:42 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/golang/designpattern/</guid>
      <description>&lt;h2 id=&#34;1-单一职责&#34;&gt;1. 单一职责&lt;/h2&gt;&#xA;&lt;p&gt;类的职责单一，对外只提供一个功能，而引起类变化的原因都应该只有一个。&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-开闭&#34;&gt;2. 开闭&lt;/h2&gt;&#xA;&lt;p&gt;类的改动是通过增加代码进行的，而不是修改源代码。&lt;/p&gt;&#xA;&lt;h2 id=&#34;3-里氏代换原则&#34;&gt;3. 里氏代换原则&lt;/h2&gt;&#xA;&lt;p&gt;任何抽象类出现的地方都可以用他的实现类替换，实际就是虚拟机制，语言级别实现面向对象功能。&lt;/p&gt;&#xA;&lt;h2 id=&#34;4-依赖倒转原则&#34;&gt;4. 依赖倒转原则&lt;/h2&gt;&#xA;&lt;p&gt;依赖于抽象接口，不要依赖具体的实现类，也就是针对接口编程。&lt;/p&gt;</description>
    </item>
    <item>
      <title>gitbook在docker内进行安装编译</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/gitbook-docker/</link>
      <pubDate>Sun, 06 Nov 2022 16:54:57 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/gitbook-docker/</guid>
      <description>&lt;h1 id=&#34;gitbook与docker&#34;&gt;Gitbook与Docker&lt;/h1&gt;&#xA;&lt;p&gt;最近在学习k8s容器相关，了解了docker的优势，而本身对于特别在意环境的干净，之前的Gitbook不想安装原因，是因为要安装node等信息。借此机会尝试下使用docker进行安装。&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-docker安装&#34;&gt;1. Docker安装&lt;/h2&gt;&#xA;&lt;p&gt;这个比较简单，直接官网下载安装，无异常&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-docker-compose-编写&#34;&gt;2. docker-compose 编写&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 在对应的目录下创建compose的yaml文件，我放在`Workspaces/Docker/GitBook`下&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;services&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;gitbook&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;image&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;bloodstar/gitbook-builder&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;ports&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;4000:4000&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;volumes&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - &lt;span style=&#34;color:#ae81ff&#34;&gt;./gitbook:/gitbook&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;command&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;gitbook build&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;由于我只是使用gitbook的build，不需要serve，所以端口无所谓&lt;/p&gt;&#xA;&lt;h2 id=&#34;3command命令修改&#34;&gt;3.command命令修改&lt;/h2&gt;&#xA;&lt;h3 id=&#34;31-初始化&#34;&gt;3.1 初始化&lt;/h3&gt;&#xA;&lt;p&gt;修改command命令为&lt;code&gt;gitbook init&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;32-插件安装&#34;&gt;3.2 插件安装&lt;/h3&gt;&#xA;&lt;p&gt;修改command命令为&lt;code&gt;gitbook install&lt;/code&gt;，这中间会存在异常，主要是网络连接github会有一定问题&lt;/p&gt;&#xA;&lt;h3 id=&#34;33-编译&#34;&gt;3.3 编译&lt;/h3&gt;&#xA;&lt;p&gt;修改command命令为&lt;code&gt;gitbook build&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;4-异常处理&#34;&gt;4. 异常处理&lt;/h2&gt;&#xA;&lt;h3 id=&#34;41-初始化失败&#34;&gt;4.1 初始化失败&lt;/h3&gt;&#xA;&lt;p&gt;直接建&lt;code&gt;README.md&lt;/code&gt; &lt;code&gt;SUMMARY.md&lt;/code&gt; 两个文件后&lt;/p&gt;&#xA;&lt;h3 id=&#34;42-插件安装失败&#34;&gt;4.2 插件安装失败&lt;/h3&gt;&#xA;&lt;p&gt;需要特殊渠道，让服务可以可以访问&lt;/p&gt;&#xA;&lt;h2 id=&#34;5-部署&#34;&gt;5. 部署&lt;/h2&gt;&#xA;&lt;p&gt;使用nginx做代理，直接&lt;code&gt;root&lt;/code&gt;指向&lt;code&gt;Workspaces/Docker/GitBook/gitbook/_book&lt;/code&gt;目录&lt;/p&gt;&#xA;&lt;p&gt;到对应的目录夹下，运行命令&lt;code&gt;docker-compose up -d&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>kafka学习</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/kafka/</link>
      <pubDate>Mon, 03 Oct 2022 15:29:00 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/kafka/</guid>
      <description>&lt;h1 id=&#34;kafka&#34;&gt;Kafka&lt;/h1&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;教程地址：&lt;a href=&#34;https://www.youtube.com/watch?v=19dzMtsV9pg&amp;amp;list=PLmOn9nNkQxJEDjzl0iBYZ3WuXUuUStxZl&amp;amp;index=4&#34;&gt;Kafka&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;一高吞吐量&#34;&gt;一、高吞吐量&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;顺序写&lt;/li&gt;&#xA;&lt;li&gt;零拷贝&lt;/li&gt;&#xA;&lt;li&gt;分段日志：Segment&lt;/li&gt;&#xA;&lt;li&gt;预读（Read ahead）后写（Write Behind）&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>ClickHouse</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/clickhouse/</link>
      <pubDate>Sun, 02 Oct 2022 14:54:45 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/clickhouse/</guid>
      <description>&lt;h1 id=&#34;clickhouse&#34;&gt;ClickHouse&lt;/h1&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;官网：&lt;a href=&#34;https://clickhouse.com/&#34;&gt;clickhouse.com&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;学习资料：&lt;a href=&#34;https://www.gulixueyuan.com/my/course/445&#34;&gt;谷粒&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;核心要点&#34;&gt;核心要点：&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;MergeTree引擎&lt;/li&gt;&#xA;&lt;li&gt;OrderBy是主键&lt;/li&gt;&#xA;&lt;li&gt;分布式&lt;/li&gt;&#xA;&lt;li&gt;Explain&lt;/li&gt;&#xA;&lt;li&gt;参数配置&lt;/li&gt;&#xA;&lt;li&gt;语法规则&lt;/li&gt;&#xA;&lt;li&gt;多表联查（join）&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;面试题&#34;&gt;面试题&lt;/h2&gt;&#xA;&lt;p&gt;1.不支持真正的&lt;code&gt;delete/update&lt;/code&gt;操作，不支持&lt;code&gt;transactions&lt;/code&gt;(事物)&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;OLAP引擎一般都不支持事物，ClickHouse的定位也是分析性数据库，而不是严格的关系型数据库，加入对于事物的支持，&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;必然会有锁，同时分布式事物的支持，会带来更复杂的实现，其中诸多因素，都会影响写入和查询的性能。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2.不支持高并发查询，官方建议&lt;code&gt;100 QPS&lt;/code&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ClickHouse是并行计算，单个查询就可以跑满多个CPU核心，而不像MySQL单个查询单线程执行。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3.需要批量写入，频繁的单条写入会带来写入问题&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ClickHouse存储结构有点类LSM，每次的insert基本都会生成一个文件目录，后台线程Merge目录文件，如果频繁写入，&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;后台线程就会Merge不过来，产生`Too many parts`异常。建议每秒不超过一次写入，并且是Batch写入。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;4.有限的SQL语法支持，JOIN语法也比较另类，暂时不支持窗口函数&lt;/p&gt;&#xA;&lt;p&gt;5.稀疏索引的设计使得ClickHouse不适合做单行点查询&lt;/p&gt;</description>
    </item>
    <item>
      <title>读书列表</title>
      <link>https://micah.wiki/posts/1.learning/a2.readingnotes/book-list/</link>
      <pubDate>Sun, 21 Aug 2022 22:36:07 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a2.readingnotes/book-list/</guid>
      <description>&lt;p&gt;Copy From: &lt;a href=&#34;https://github.com/toutiaoio/awesome-architecture&#34;&gt;awesome-architecture&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;分布式&#34;&gt;分布式&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F799b7ki&amp;amp;aid=19640&amp;amp;nid=313&#34;&gt;分布式架构链路追踪：SkyWalking 介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx8e3o0q&amp;amp;aid=19639&amp;amp;nid=313&#34;&gt;漫谈分布式系统 (20)：基于规则的优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgbxl2rq&amp;amp;aid=19579&amp;amp;nid=312&#34;&gt;架构设计：分布式服务，库表拆分模式详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fovtxful&amp;amp;aid=19525&amp;amp;nid=311&#34;&gt;走出微服务误区：避免从单体到分布式单体&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Foswj2ss&amp;amp;aid=19507&amp;amp;nid=310&#34;&gt;熬夜之作：一文带你了解 Cat 分布式监控&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjiupdi0&amp;amp;aid=19412&amp;amp;nid=308&#34;&gt;初识 etcd&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv9ayiee&amp;amp;aid=19401&amp;amp;nid=308&#34;&gt;分布式场景下基于重试机制的一致性解决方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnfjgybv&amp;amp;aid=19384&amp;amp;nid=308&#34;&gt;一文读懂 HDFS 架构与设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fk3hxmqx&amp;amp;aid=19326&amp;amp;nid=307&#34;&gt;MIT 6.824 分布式系统课程第六课之错误容忍：Raft（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fa21b8ih&amp;amp;aid=19264&amp;amp;nid=305&#34;&gt;漫谈分布式事务的那些解决方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzh3mw4w&amp;amp;aid=19257&amp;amp;nid=305&#34;&gt;我司用了 6 年的 Redis 分布式限流器，可以说是非常厉害了&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqfdoann&amp;amp;aid=19231&amp;amp;nid=305&#34;&gt;架构设计基础：单服务、集群、分布式的基本区别和联系&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftmdintk&amp;amp;aid=19206&amp;amp;nid=304&#34;&gt;用匠心精神，打造高可用分布式系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fssa331p&amp;amp;aid=19129&amp;amp;nid=302&#34;&gt;MIT 6.824 分布式系统课程第四课：主备复制&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fseazusu&amp;amp;aid=19004&amp;amp;nid=300&#34;&gt;面试被问分布式事务（2PC、3PC、TCC），这样解释没毛病&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Faitt0pc&amp;amp;aid=19008&amp;amp;nid=300&#34;&gt;MIT 6.824 分布式系统课程第三课：GFS&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnecfb59&amp;amp;aid=18948&amp;amp;nid=299&#34;&gt;分布式定时任务调度框架实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhuo7gu5&amp;amp;aid=18889&amp;amp;nid=298&#34;&gt;MIT 6.824 分布式系统课程第一课：介绍笔记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4n3knao&amp;amp;aid=18817&amp;amp;nid=297&#34;&gt;2019 我的技术之路：分布式系统到分布式制造&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fypxzkfo&amp;amp;aid=18816&amp;amp;nid=297&#34;&gt;分布式 ID 生成方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgz54sz8&amp;amp;aid=18597&amp;amp;nid=293&#34;&gt;Filebeat + Kafka + ELK 分布式日志收集&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ferplffd&amp;amp;aid=18580&amp;amp;nid=293&#34;&gt;[译] 一切系统都是分布式的 (OReilly, 2015)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flyt9n91&amp;amp;aid=18431&amp;amp;nid=291&#34;&gt;SOSP19&amp;rsquo; Ceph 的十年经验总结：文件系统是否适合做分布式文件系统的后端&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1aco4t1&amp;amp;aid=18395&amp;amp;nid=290&#34;&gt;如果有人再问你怎么实现分布式延时消息，这篇文章丢给他&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fycdzigb&amp;amp;aid=18384&amp;amp;nid=290&#34;&gt;中间件底层实现的分布式协议之 Raft&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjuvljt6&amp;amp;aid=18284&amp;amp;nid=289&#34;&gt;在分布式链路下，蚂蚁金服如何快速构建低成本、高可用联调环境？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqw55a90&amp;amp;aid=18180&amp;amp;nid=287&#34;&gt;解耦并不难：分布式系统中的解耦&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fazcxobo&amp;amp;aid=18084&amp;amp;nid=285&#34;&gt;分布式唯一 ID 之 Snowflake 算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn45lggn&amp;amp;aid=17863&amp;amp;nid=282&#34;&gt;漫谈分布式系统（一）：为什么要有分布式系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcla3i6r&amp;amp;aid=17751&amp;amp;nid=281&#34;&gt;技术中台：分布式架构在蚂蚁金服的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6b8ilwi&amp;amp;aid=17770&amp;amp;nid=281&#34;&gt;图解各路分布式 ID 生成算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffv0ohs6&amp;amp;aid=17721&amp;amp;nid=280&#34;&gt;ElasticDL：蚂蚁金服开源基于 TensorFlow 的弹性分布式深度学习系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmyak0cj&amp;amp;aid=17667&amp;amp;nid=279&#34;&gt;逻辑时钟：如何刻画分布式中的事件顺序&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6mzkcch&amp;amp;aid=17655&amp;amp;nid=279&#34;&gt;线性一致性实现原理剖析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd2s2pob&amp;amp;aid=17587&amp;amp;nid=278&#34;&gt;XSQL：低门槛、易部署、更稳定的多数据源分布式查询引擎&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fozm344g&amp;amp;aid=17546&amp;amp;nid=278&#34;&gt;分布式消息系统设计要点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fiyckexn&amp;amp;aid=17421&amp;amp;nid=276&#34;&gt;React Native 分布式热更新系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzy1vawh&amp;amp;aid=17385&amp;amp;nid=276&#34;&gt;端到端一致性，流系统 Spark/Flink/Kafka/DataFlow 对比总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Foqr4qzf&amp;amp;aid=17266&amp;amp;nid=274&#34;&gt;盘点 Zookeeper 在分布式架构中的应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnsv5xu&amp;amp;aid=17015&amp;amp;nid=271&#34;&gt;[译] 分布式系统经典论文：Google Bigtable 的设计和实现 (OSDI 2006)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhoonp5&amp;amp;aid=17008&amp;amp;nid=270&#34;&gt;[译] 分布式系统经典论文：Amazon Dynamo 的设计和实现 (SOSP 2007)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4jtfat&amp;amp;aid=16979&amp;amp;nid=270&#34;&gt;Apollo 配置中心：分布式部署&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5popmw&amp;amp;aid=16859&amp;amp;nid=269&#34;&gt;分布式系统原理介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhp43pq&amp;amp;aid=16685&amp;amp;nid=267&#34;&gt;高并发场景下分布式实时信令系统的架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft421lk&amp;amp;aid=16627&amp;amp;nid=266&#34;&gt;8 个月打磨，一份送给程序员的 “分布式系统” 合集&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1tyy60&amp;amp;aid=16540&amp;amp;nid=265&#34;&gt;分布式系统关注点：360° 的全方位监控&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdret83&amp;amp;aid=16439&amp;amp;nid=264&#34;&gt;设计一个分布式 RPC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F99ydes&amp;amp;aid=16414&amp;amp;nid=264&#34;&gt;分布式时序数据库 QTSDB 的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo84er8&amp;amp;aid=16470&amp;amp;nid=264&#34;&gt;轻松构建微服务之分布式配置中心&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2ml4xz&amp;amp;aid=16474&amp;amp;nid=264&#34;&gt;分布式系统关注点：构建易测试系统的 “六脉神剑”&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F56ji5m&amp;amp;aid=16443&amp;amp;nid=264&#34;&gt;个推基于 Zipkin 的分布式链路追踪实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx0yb12&amp;amp;aid=16378&amp;amp;nid=263&#34;&gt;MXNet 结合 kubeflow 进行分布式训练&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmndgeq&amp;amp;aid=16293&amp;amp;nid=262&#34;&gt;分布式数据缓存中的一致性哈希算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnpum4m&amp;amp;aid=16291&amp;amp;nid=262&#34;&gt;聊一聊分布式对象存储解决方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcczcuh&amp;amp;aid=16290&amp;amp;nid=262&#34;&gt;分布式系统关注点：阻塞与非阻塞有什么区别？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxhcewg&amp;amp;aid=16120&amp;amp;nid=260&#34;&gt;UidGenerator：百度开源的分布式 ID 服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flmuvic&amp;amp;aid=16085&amp;amp;nid=260&#34;&gt;如何设计一个优秀的分布式系统？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2jy9rw&amp;amp;aid=16040&amp;amp;nid=259&#34;&gt;分布式 ID 生成策略&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8yxaot&amp;amp;aid=16021&amp;amp;nid=259&#34;&gt;从一个真实的分布式 ID 案例看如何做架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fs1kxx2&amp;amp;aid=16004&amp;amp;nid=259&#34;&gt;近万字长文，设计分布式系统需要考虑因素的都在这里&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F36j135&amp;amp;aid=15949&amp;amp;nid=258&#34;&gt;分布式 TensorFlow 编程模型演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F88u0ec&amp;amp;aid=15883&amp;amp;nid=257&#34;&gt;基于 Redis 和 Lua 的分布式限流&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgu0vn2&amp;amp;aid=15786&amp;amp;nid=255&#34;&gt;Aloha：一个分布式调度框架的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fc63w76&amp;amp;aid=15773&amp;amp;nid=255&#34;&gt;可线性化检查：与 NP 完全问题做斗争&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0v90x2&amp;amp;aid=15664&amp;amp;nid=254&#34;&gt;分布式架构设计之架构演进之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fc94mq1&amp;amp;aid=15707&amp;amp;nid=254&#34;&gt;分布式系统设计经典论文&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo5ng3q&amp;amp;aid=15647&amp;amp;nid=253&#34;&gt;Leaf：美团分布式 ID 生成服务开源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx7ls8w&amp;amp;aid=15568&amp;amp;nid=252&#34;&gt;宜信分布式安全服务编排实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fanbf4z&amp;amp;aid=15506&amp;amp;nid=251&#34;&gt;xxl-registry：轻量级分布式服务注册中心&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn7c6kj&amp;amp;aid=15424&amp;amp;nid=250&#34;&gt;CAP 一致性协议及应用实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqnm4xm&amp;amp;aid=15406&amp;amp;nid=250&#34;&gt;分布式系统关注点：弹性架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhneodn&amp;amp;aid=15343&amp;amp;nid=249&#34;&gt;Etcd Raft 使用入门及原理解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjyot9s&amp;amp;aid=15280&amp;amp;nid=248&#34;&gt;滴滴开源分布式消息中间件产品 DDMQ&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqdc5bq&amp;amp;aid=15271&amp;amp;nid=248&#34;&gt;企业实施分布式架构的挑战以及应对建议&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxsxyl5&amp;amp;aid=15240&amp;amp;nid=248&#34;&gt;云端分布式架构下的编程语言：elixir; pattern matching&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr7nlaa&amp;amp;aid=15210&amp;amp;nid=247&#34;&gt;让 Raft 变快 100 倍：Dragonboat 的写优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fds18q6&amp;amp;aid=15197&amp;amp;nid=247&#34;&gt;GMKV：分布式 kv 在更美 App 的落地&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqk23db&amp;amp;aid=15148&amp;amp;nid=247&#34;&gt;基于 Licode 的 WebRTC 全球分布式架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxf4vhf&amp;amp;aid=15133&amp;amp;nid=246&#34;&gt;手绘 raft 一致性算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flwb5b3&amp;amp;aid=15139&amp;amp;nid=246&#34;&gt;kingbus：基于 Raft 的分布式 MySQL binlog 存储系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqh17sc&amp;amp;aid=15134&amp;amp;nid=246&#34;&gt;为自己搭建一个分布式 IM（即时通讯）系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu4c7lv&amp;amp;aid=15068&amp;amp;nid=245&#34;&gt;分布式系统的基石：深入浅出共识算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdos8cl&amp;amp;aid=15072&amp;amp;nid=245&#34;&gt;[译] 伯克利开源多数据流实时分布式分析系统 Confluo，吞吐超 Kafka 4-10 倍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl8oghr&amp;amp;aid=14990&amp;amp;nid=244&#34;&gt;Ambry：LinkedIn 对象存储论文翻译&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fetrnyn&amp;amp;aid=14984&amp;amp;nid=244&#34;&gt;Go 分布式实时服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsmpor6&amp;amp;aid=14918&amp;amp;nid=243&#34;&gt;自己写分布式配置中心（上）：单机模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqlz79l&amp;amp;aid=14878&amp;amp;nid=242&#34;&gt;唯品会分布式强一致日志存储系统 VDL 正式对外开源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu97o5l&amp;amp;aid=14876&amp;amp;nid=242&#34;&gt;浅谈分布式最终一致性&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgpg6tz&amp;amp;aid=14873&amp;amp;nid=242&#34;&gt;MIT 6.824 学习笔记（一）：MapReduce 详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fubh2z8&amp;amp;aid=14811&amp;amp;nid=241&#34;&gt;用 Redis 实现分布式幂等服务中间件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4ujc6y&amp;amp;aid=14662&amp;amp;nid=239&#34;&gt;[译] 深度神经网络的分布式训练概述：常用方法和技巧全面总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frnojsa&amp;amp;aid=14628&amp;amp;nid=238&#34;&gt;分布式基础，通俗易懂 CAP？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbb4qwr&amp;amp;aid=14585&amp;amp;nid=238&#34;&gt;分布式系统关注点：做了负载均衡就可以随便加机器了吗？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1kid2f&amp;amp;aid=14510&amp;amp;nid=237&#34;&gt;大规模 MySQL 运维陷阱之基于 MyCat 的伪分布式架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyosx21&amp;amp;aid=14551&amp;amp;nid=237&#34;&gt;分布式之消息队列复习精讲&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvx5em2&amp;amp;aid=14543&amp;amp;nid=237&#34;&gt;自己写分布式限流组件：基于 Redis 的 RateLimter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffxnlcx&amp;amp;aid=14485&amp;amp;nid=236&#34;&gt;分布式高性能 Redis 集群线上常见问题&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4uqsp5&amp;amp;aid=14346&amp;amp;nid=234&#34;&gt;如果再有人问你分布式 ID，这篇文章丢给他&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnmeenq&amp;amp;aid=14366&amp;amp;nid=234&#34;&gt;详解分布式协调服务 ZooKeeper&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsd7ohp&amp;amp;aid=14295&amp;amp;nid=233&#34;&gt;带着问题学习分布式系统之数据分片&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwe1x5r&amp;amp;aid=14184&amp;amp;nid=232&#34;&gt;[译] 构建大型支付系统时学到的分布式体系结构概念&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F99yztm&amp;amp;aid=14086&amp;amp;nid=230&#34;&gt;分布式数据库 MVCC 技术探秘（二）：混合逻辑时钟&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpglb72&amp;amp;aid=14028&amp;amp;nid=229&#34;&gt;分布式系统关注点：通过 “共识” 达成数据一致性&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqbsr5a&amp;amp;aid=14017&amp;amp;nid=229&#34;&gt;如何设计分布式系统开关&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4jr8iz&amp;amp;aid=14016&amp;amp;nid=229&#34;&gt;分布式系统与消息的投递&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F09bshx&amp;amp;aid=13957&amp;amp;nid=228&#34;&gt;使用开源技术构建有赞分布式 KV 存储服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fy9caq7&amp;amp;aid=13878&amp;amp;nid=227&#34;&gt;美图分布式 Bitmap 实践：Naix&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2cvy58&amp;amp;aid=13813&amp;amp;nid=226&#34;&gt;分布式数据库 MVCC 技术探秘（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flqz7i8&amp;amp;aid=13806&amp;amp;nid=226&#34;&gt;Node.js：浅析高并发与分布式集群&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzphvz1&amp;amp;aid=13747&amp;amp;nid=225&#34;&gt;扯什么区块链，应该是分布式账本和面向通证架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fifnec1&amp;amp;aid=13705&amp;amp;nid=224&#34;&gt;学习分布式不得不会的 CAP 理论&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqjw2zk&amp;amp;aid=13528&amp;amp;nid=222&#34;&gt;知乎十万级容器规模的分布式镜像仓库实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F08bm31&amp;amp;aid=13448&amp;amp;nid=221&#34;&gt;主流分布式架构的风流韵事&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqxec8r&amp;amp;aid=13436&amp;amp;nid=220&#34;&gt;如何快速开发一个 Dubbo 应用？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7w2ccy&amp;amp;aid=13428&amp;amp;nid=220&#34;&gt;Google F1 是如何做 Schema 变更的&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8tgl38&amp;amp;aid=13398&amp;amp;nid=220&#34;&gt;[译] 浅显易懂的分布式 TensorFlow 入门教程&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6jvkbu&amp;amp;aid=13297&amp;amp;nid=218&#34;&gt;Raft 协议学习笔记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F28xhz5&amp;amp;aid=13190&amp;amp;nid=217&#34;&gt;基于可靠消息方案的分布式事务（二）：Java 中的事务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh4do84&amp;amp;aid=13023&amp;amp;nid=214&#34;&gt;青云新一代分布式数据库 RadonDB 开源了&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcptbrx&amp;amp;aid=13020&amp;amp;nid=214&#34;&gt;一个 Raft 开源项目的结构分析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftgun7k&amp;amp;aid=13007&amp;amp;nid=214&#34;&gt;分布式跟踪工具 Pinpoint 初探&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3kiiw1&amp;amp;aid=12877&amp;amp;nid=212&#34;&gt;分布式强一致性数据库的灵魂：Raft 算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv74dxm&amp;amp;aid=12826&amp;amp;nid=211&#34;&gt;分布式系统：一致性 hash 算法的应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flwkoz4&amp;amp;aid=12754&amp;amp;nid=210&#34;&gt;分布式单点登录框架 XXL-SSO&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6cr0xa&amp;amp;aid=12661&amp;amp;nid=209&#34;&gt;同为分布式缓存，为何 Redis 更胜一筹？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd0szfl&amp;amp;aid=12628&amp;amp;nid=209&#34;&gt;[译] Uber 是如何用 Kafka 构建可靠的重试处理保证数据不丢失&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2a9ayg&amp;amp;aid=12667&amp;amp;nid=209&#34;&gt;MPP 的进化：深入理解 Batch 和 MPP 优缺点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frc9df3&amp;amp;aid=12597&amp;amp;nid=208&#34;&gt;Zookeeper 源码：总体流程概览&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm73fu0&amp;amp;aid=12579&amp;amp;nid=208&#34;&gt;分布式理论：CAP 是三选二吗？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr0izu8&amp;amp;aid=12580&amp;amp;nid=208&#34;&gt;分布式系统设计：批处理模式之作业队列系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fehk25r&amp;amp;aid=12525&amp;amp;nid=207&#34;&gt;GlusterFS 纠删码最佳实践应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsox15f&amp;amp;aid=12505&amp;amp;nid=207&#34;&gt;加密货币和区块链（二）：分布式共识与去中心化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqvrp0i&amp;amp;aid=12406&amp;amp;nid=206&#34;&gt;饿了么异地多活技术实现（三）：GZS &amp;amp; DAL&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnucswn&amp;amp;aid=12333&amp;amp;nid=205&#34;&gt;分布式技术集锦&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdbunl6&amp;amp;aid=12267&amp;amp;nid=204&#34;&gt;漫谈分布式系统、拜占庭将军问题与区块链&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fe0h0tu&amp;amp;aid=12254&amp;amp;nid=203&#34;&gt;Zeppelin：奇虎 360 出品的高性能分布式 KV 存储平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm0se1z&amp;amp;aid=12191&amp;amp;nid=203&#34;&gt;分布式系统数据层设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnqxt5d&amp;amp;aid=12177&amp;amp;nid=202&#34;&gt;跟繁琐的命令行说拜拜，Gerapy 分布式爬虫管理框架来袭&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu64f4z&amp;amp;aid=12116&amp;amp;nid=202&#34;&gt;分布式 Redis 架构设计简介&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fk8b72k&amp;amp;aid=11995&amp;amp;nid=200&#34;&gt;分布式文件系统 FastDFS 详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft5avsp&amp;amp;aid=11925&amp;amp;nid=199&#34;&gt;ELK 6.0 部署：Elasticsearch + Logstash + Kibana 搭建分布式日志平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpjgx6k&amp;amp;aid=11861&amp;amp;nid=198&#34;&gt;VDL：唯品会强一致、高可用、高性能分布式日志存储介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3j0nur&amp;amp;aid=11857&amp;amp;nid=198&#34;&gt;分布式一致性与共识算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdqfevp&amp;amp;aid=11851&amp;amp;nid=198&#34;&gt;RAID 6 应用于消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm45adb&amp;amp;aid=11764&amp;amp;nid=197&#34;&gt;分布式系统中的必备良药：RPC&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjpxhgu&amp;amp;aid=11701&amp;amp;nid=196&#34;&gt;区块链：利用 IPFS 构建自己的去中心化分布式 Wiki 系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fenlfg4&amp;amp;aid=11707&amp;amp;nid=196&#34;&gt;分布式消息队列实现概要&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyz54cq&amp;amp;aid=11634&amp;amp;nid=195&#34;&gt;dedid：为分布式数据库而设计的全局唯一 ID（主键）生成器&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fij76vu&amp;amp;aid=11631&amp;amp;nid=195&#34;&gt;分布式实时日志分析解决方案 ELK 部署架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fltrkvn&amp;amp;aid=11592&amp;amp;nid=195&#34;&gt;OceanBase 1.0 分布式技术架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5j581f&amp;amp;aid=11551&amp;amp;nid=194&#34;&gt;分布式数据库的故障和常见处理机制&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1w3gk0&amp;amp;aid=11537&amp;amp;nid=194&#34;&gt;日志：分布式系统的核心&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxmm8rr&amp;amp;aid=11403&amp;amp;nid=192&#34;&gt;Netflix Archaius 分布式配置管理依赖构件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7yen01&amp;amp;aid=11351&amp;amp;nid=191&#34;&gt;Pegasus：小米出品的分布式 Key-Value 存储系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8408lv&amp;amp;aid=11348&amp;amp;nid=191&#34;&gt;XXL-CRAWLER：灵活高效、面向对象的分布式爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8h65sd&amp;amp;aid=11335&amp;amp;nid=191&#34;&gt;使用 Redis 实现分布式锁及其优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F46dmov&amp;amp;aid=11333&amp;amp;nid=191&#34;&gt;Kafka 的复制机制&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fseveyq&amp;amp;aid=11328&amp;amp;nid=191&#34;&gt;Zookeeper：分布式过程协同技术详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvnqayf&amp;amp;aid=11281&amp;amp;nid=191&#34;&gt;浅谈大规模分布式系统中那些技术点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgkwe82&amp;amp;aid=11251&amp;amp;nid=190&#34;&gt;分布式键值存储 Dynamo 的实现原理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5fktt9&amp;amp;aid=11242&amp;amp;nid=190&#34;&gt;浅谈分布式存储系统中的数据一致性要求&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F890p4c&amp;amp;aid=11124&amp;amp;nid=188&#34;&gt;[译] 创建一个分布式网络爬虫的故事&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm7g6fg&amp;amp;aid=11125&amp;amp;nid=188&#34;&gt;分布式文件管理系统 JDFS（五）：整体架构描述&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7vtyw7&amp;amp;aid=11092&amp;amp;nid=187&#34;&gt;使用 Chaos 测试分布式系统线性一致性&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv74im8&amp;amp;aid=11090&amp;amp;nid=187&#34;&gt;分布式搜索数据库性能探究&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9hmeq6&amp;amp;aid=10935&amp;amp;nid=185&#34;&gt;微信开源 PhxQueue：高可用、高可靠、高性能的分布式队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmdp3vq&amp;amp;aid=10751&amp;amp;nid=183&#34;&gt;一文教你迅速解决分布式事务 XA 一致性问题&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F020ikb&amp;amp;aid=10749&amp;amp;nid=183&#34;&gt;分布式 ID 生成方案概述&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fe1q2rc&amp;amp;aid=10640&amp;amp;nid=182&#34;&gt;分布式系统架构设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsntl6i&amp;amp;aid=10587&amp;amp;nid=181&#34;&gt;如何用 Go 打造亿级实时分布式出行平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3ijcsx&amp;amp;aid=10558&amp;amp;nid=180&#34;&gt;molten：PHP 应用透明链路追踪工具&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6hslm0&amp;amp;aid=10545&amp;amp;nid=180&#34;&gt;分布式流式处理的新贵 Kafka Stream&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdk2by4&amp;amp;aid=10486&amp;amp;nid=180&#34;&gt;微服务架构上云最佳实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fceqbdy&amp;amp;aid=10470&amp;amp;nid=179&#34;&gt;如何在 Spring Cloud 分布式系统中实现分布式锁？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnthju4&amp;amp;aid=10454&amp;amp;nid=179&#34;&gt;漫谈分布式系统：三种通信范型&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fa2vhin&amp;amp;aid=10427&amp;amp;nid=179&#34;&gt;[译] 如何选择合适的分布式机器学习平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcbmvci&amp;amp;aid=10381&amp;amp;nid=178&#34;&gt;浅谈分布式服务协调技术 Zookeeper&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftvnj08&amp;amp;aid=10398&amp;amp;nid=178&#34;&gt;Hystrix 实现分布式系统中的故障容错&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fve6tex&amp;amp;aid=10323&amp;amp;nid=177&#34;&gt;[译] Metrics, tracing 和 logging 的关系&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3egyo2&amp;amp;aid=10243&amp;amp;nid=176&#34;&gt;使用 DDAL 快速构建分布式数据库应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqky7vp&amp;amp;aid=10242&amp;amp;nid=176&#34;&gt;etcd raft 如何实现成员变更&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgqu0j2&amp;amp;aid=10237&amp;amp;nid=176&#34;&gt;单体中心代码库 vs. 分布式代码库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo9e9gh&amp;amp;aid=10095&amp;amp;nid=174&#34;&gt;Laravel + go-micro + grpc 实践基于 Zipkin 的分布式链路追踪系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgja08a&amp;amp;aid=10092&amp;amp;nid=174&#34;&gt;分布式系统概念&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd1vrcq&amp;amp;aid=10059&amp;amp;nid=173&#34;&gt;jd_spider：两只蠢萌京东的分布式爬虫&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5vo24o&amp;amp;aid=10048&amp;amp;nid=173&#34;&gt;例解 Poxos 算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fopdnzv&amp;amp;aid=9960&amp;amp;nid=172&#34;&gt;分布式调用链监控资源总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0p8zys&amp;amp;aid=9932&amp;amp;nid=172&#34;&gt;Angel：腾讯出品的基于参数服务器理念开发的高性能分布式机器学习平台 &lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F462xte&amp;amp;aid=9698&amp;amp;nid=168&#34;&gt;针对 PHP 做的 Ragnar Fiery 分布式性能跟踪系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fckl80f&amp;amp;aid=9696&amp;amp;nid=168&#34;&gt;GFS 阅读笔记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4hoeqi&amp;amp;aid=9681&amp;amp;nid=168&#34;&gt;自己动手扩展分布式调用链&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F66jwr8&amp;amp;aid=9640&amp;amp;nid=167&#34;&gt;分布式系统常见的事务处理机制&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjj0kd7&amp;amp;aid=9601&amp;amp;nid=167&#34;&gt;KAFKA：如何做到 1 秒发布百万级条消息&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fz5bsmr&amp;amp;aid=9619&amp;amp;nid=167&#34;&gt;[译] 再谈 CAP 理论&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd9f2pk&amp;amp;aid=9554&amp;amp;nid=166&#34;&gt;Kudu：一个融合低延迟写入和高性能分析的存储系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsf3p9s&amp;amp;aid=9412&amp;amp;nid=164&#34;&gt;MapReduce 阅读笔记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffyq4pz&amp;amp;aid=9423&amp;amp;nid=164&#34;&gt;Leaf：美团点评分布式 ID 生成系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu894hm&amp;amp;aid=9229&amp;amp;nid=162&#34;&gt;微博百万用户分布式压测实践手记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fliwba6&amp;amp;aid=9228&amp;amp;nid=162&#34;&gt;如何打造支撑百万用户的分布式代码托管平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Faclw19&amp;amp;aid=9215&amp;amp;nid=161&#34;&gt;Voyage：Java 实现的基于 Netty 的轻量、高性能分布式 RPC 服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fubeub6&amp;amp;aid=9197&amp;amp;nid=161&#34;&gt;Spark 自己的分布式存储系统：BlockManager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1ej2bx&amp;amp;aid=9150&amp;amp;nid=161&#34;&gt;最大努力通知？No，事务消息&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Futsyhi&amp;amp;aid=9119&amp;amp;nid=160&#34;&gt;分布式任务队列 Celery 介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg0j0hh&amp;amp;aid=9114&amp;amp;nid=160&#34;&gt;分布式事务之聊聊 TCC&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fs6wy1e&amp;amp;aid=9078&amp;amp;nid=160&#34;&gt;分布式服务化系统一致性的 “最佳实干”&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fozty3i&amp;amp;aid=9043&amp;amp;nid=159&#34;&gt;一个简单的分布式 Web 扫描器的设计与实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F90t7zh&amp;amp;aid=9005&amp;amp;nid=159&#34;&gt;微服务架构下的分布式数据管理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgrr0d3&amp;amp;aid=8993&amp;amp;nid=158&#34;&gt;XXL-JOB：分布式任务调度平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgxhx9w&amp;amp;aid=8978&amp;amp;nid=158&#34;&gt;Spark 分布式的基础：通信系统 rpc&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn7qpkw&amp;amp;aid=8945&amp;amp;nid=158&#34;&gt;腾讯云分布式高可靠消息队列 CMQ 架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdufjn5&amp;amp;aid=8893&amp;amp;nid=157&#34;&gt;分布式系统研发心得&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5wma7d&amp;amp;aid=8911&amp;amp;nid=157&#34;&gt;Golang 高性能分布式游戏服务器框架 mqant&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0w8lyo&amp;amp;aid=8776&amp;amp;nid=155&#34;&gt;Antares：分布式任务调度平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2ifjzc&amp;amp;aid=8763&amp;amp;nid=155&#34;&gt;RPC 基本原理与 Apache Thrift 初体验&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp21ck6&amp;amp;aid=8646&amp;amp;nid=154&#34;&gt;OceanBase 1.0 分布式技术架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmnuuvd&amp;amp;aid=8579&amp;amp;nid=153&#34;&gt;万亿级数据洪峰下的分布式消息引擎&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fexoywq&amp;amp;aid=8356&amp;amp;nid=149&#34;&gt;分布式系统调用链监控&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzqe5ru&amp;amp;aid=8310&amp;amp;nid=148&#34;&gt;从 ACID 到 CAP/BASE&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgfsopo&amp;amp;aid=8224&amp;amp;nid=147&#34;&gt;NewSQL 究竟新在哪里？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv1fi3e&amp;amp;aid=8118&amp;amp;nid=145&#34;&gt;分布式系统本质论（3/3）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fk0srwe&amp;amp;aid=8054&amp;amp;nid=144&#34;&gt;不妥协：分布式事务的一致性、可用性和性能&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqziz1m&amp;amp;aid=8042&amp;amp;nid=144&#34;&gt;CAP 初窥&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fi5raq9&amp;amp;aid=7980&amp;amp;nid=143&#34;&gt;深度剖析开源分布式监控 CAT&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fttqk69&amp;amp;aid=7995&amp;amp;nid=143&#34;&gt;一名分布式存储工程师的技能树是怎样的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcu6dnv&amp;amp;aid=7993&amp;amp;nid=143&#34;&gt;分布式锁总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjdlch0&amp;amp;aid=7914&amp;amp;nid=142&#34;&gt;浅析分布式系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F864at1&amp;amp;aid=7871&amp;amp;nid=141&#34;&gt;RSF 分布式 RPC 服务框架的分层设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjgeeg9&amp;amp;aid=7777&amp;amp;nid=140&#34;&gt;自己动手写分布式 KV 存储引擎（二）：网络框架中的定时器原理和实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2nh7g6&amp;amp;aid=7761&amp;amp;nid=139&#34;&gt;JLiteSpider：轻量级的分布式 Java 爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffmco5p&amp;amp;aid=7708&amp;amp;nid=139&#34;&gt;分布式会话跟踪系统架构设计与实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb8cwtq&amp;amp;aid=7138&amp;amp;nid=130&#34;&gt;分布式事务（一）：两阶段提交及 JTA&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fepyfg1&amp;amp;aid=7094&amp;amp;nid=130&#34;&gt;分布式队列编程（优化篇）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqaxd7m&amp;amp;aid=7046&amp;amp;nid=129&#34;&gt;探秘阿里分布式任务调度服务 SchedulerX&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5llwer&amp;amp;aid=7035&amp;amp;nid=129&#34;&gt;分布式队列编程：模型、实战&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fblkw89&amp;amp;aid=7001&amp;amp;nid=128&#34;&gt;Dora RPC：PHP 的分布式 RPC，支持微服务、服务发现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fw5dp8u&amp;amp;aid=6908&amp;amp;nid=127&#34;&gt;不懂点 CAP 理论，你好意思说你是做分布式的吗？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft70i21&amp;amp;aid=6809&amp;amp;nid=125&#34;&gt;SeimiCrawler：敏捷、独立部署、支持分布式的 Java 爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fs1tb5m&amp;amp;aid=6748&amp;amp;nid=125&#34;&gt;分布式系统设计的求生之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbj8f2u&amp;amp;aid=6724&amp;amp;nid=124&#34;&gt;[PPT] 一次重构引发的分布式服务管理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsf6ol6&amp;amp;aid=6661&amp;amp;nid=123&#34;&gt;基于 Dubbo 框架构建分布式服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkvr7zf&amp;amp;aid=6492&amp;amp;nid=121&#34;&gt;深入理解分布式系统的 2PC 和 3PC&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fprwrns&amp;amp;aid=6399&amp;amp;nid=120&#34;&gt;分布式搜索引擎（二）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzyeuuk&amp;amp;aid=6443&amp;amp;nid=120&#34;&gt;RPCX：类似 Dubbo 的分布式 RPC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffbb5j5&amp;amp;aid=6258&amp;amp;nid=118&#34;&gt;可靠分布式系统基础 Paxos 的直观解释&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F95qo0b&amp;amp;aid=6060&amp;amp;nid=116&#34;&gt;高性能分布式 Mock 平台的框架与设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1kmh7y&amp;amp;aid=6047&amp;amp;nid=115&#34;&gt;Zipkin：分布式追踪系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbowh0f&amp;amp;aid=6010&amp;amp;nid=115&#34;&gt;一名分布式存储工程师的技能树是怎样的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F45m47x&amp;amp;aid=5696&amp;amp;nid=111&#34;&gt;使用 DRPC 构建分布式多语言编程架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F73xmbk&amp;amp;aid=5559&amp;amp;nid=109&#34;&gt;美团云分布式块存储系统 Ursa 的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fagpnck&amp;amp;aid=5541&amp;amp;nid=109&#34;&gt;Sky Walking：对 Java 分布式应用程序集群业务运行情况进行追踪、告警和分析的系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8uhegb&amp;amp;aid=5463&amp;amp;nid=108&#34;&gt;几个分布式基础算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdebq0t&amp;amp;aid=5181&amp;amp;nid=104&#34;&gt;zerg：基于 Docker 的分布式爬虫服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fq9mtan&amp;amp;aid=5146&amp;amp;nid=104&#34;&gt;微博分布式存储考试题：案例讲解及作业精选&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fuu90n0&amp;amp;aid=5099&amp;amp;nid=104&#34;&gt;[译] Dapper，大规模分布式系统的跟踪系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fes7m4x&amp;amp;aid=4864&amp;amp;nid=101&#34;&gt;日志系统之基于 Zookeeper 的分布式协同设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvs2yhz&amp;amp;aid=4769&amp;amp;nid=100&#34;&gt;[译] 当讨论分布式系统时，我们都会讨论些什么？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdwli3k&amp;amp;aid=4453&amp;amp;nid=97&#34;&gt;[译] 设计全球级的分布式、任务关键型应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F64hdc0&amp;amp;aid=4143&amp;amp;nid=94&#34;&gt;分布式文件系统 FastDFS 架构剖析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft9ytxc&amp;amp;aid=4079&amp;amp;nid=93&#34;&gt;.NET 大型分布式电子商务架构说明&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F94etx&amp;amp;aid=3946&amp;amp;nid=91&#34;&gt;开源分布式计算系统框架比较&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7sjbj&amp;amp;aid=3930&amp;amp;nid=91&#34;&gt;系统分布式情况下最终一致性方案梳理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;前端&#34;&gt;前端&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxbg9x4z&amp;amp;aid=19280&amp;amp;nid=306&#34;&gt;[译] 高性能前端架构解决方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1mbvwoz&amp;amp;aid=19099&amp;amp;nid=301&#34;&gt;前端为什么要关注 Serverless?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4c5x4fc&amp;amp;aid=19049&amp;amp;nid=301&#34;&gt;一文道尽软件架构及前端架构演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnwog8cj&amp;amp;aid=18805&amp;amp;nid=297&#34;&gt;爱奇艺号微前端架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftzo9lwk&amp;amp;aid=18742&amp;amp;nid=296&#34;&gt;千万级流量业务的 Serverless 实践，看 FaaS 给前端带来的变化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxaazxb8&amp;amp;aid=18478&amp;amp;nid=291&#34;&gt;[译] 不容错过的 Node.js 项目架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxqgn0kk&amp;amp;aid=18068&amp;amp;nid=285&#34;&gt;学习 sentry 源码整体架构，打造属于自己的前端异常监控 SDK&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjvrb95x&amp;amp;aid=17992&amp;amp;nid=284&#34;&gt;Egg.js 打造高可用服务集群&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn7j7i9h&amp;amp;aid=17987&amp;amp;nid=284&#34;&gt;闲鱼前端基于 Serverless 的一种多端开发解决方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6sngx4f&amp;amp;aid=17931&amp;amp;nid=283&#34;&gt;2019 JSConf China《面向传统，Serverless 进化之路》分享文字版&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwmbvapl&amp;amp;aid=17269&amp;amp;nid=274&#34;&gt;巨树：基于 ztree 封装的 Vue 树形组件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh91pvf&amp;amp;aid=17190&amp;amp;nid=273&#34;&gt;你想知道的 React 组件设计模式这里都有（上）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnzomb0&amp;amp;aid=17135&amp;amp;nid=272&#34;&gt;前端要知道的 RESTful API 架构风格&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8sctee&amp;amp;aid=17145&amp;amp;nid=272&#34;&gt;Serverless 掀起新的前端技术变革&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp20k50&amp;amp;aid=16887&amp;amp;nid=269&#34;&gt;记一次前端项目重构要点总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcosds3&amp;amp;aid=16432&amp;amp;nid=264&#34;&gt;大型项目前端架构浅谈&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzm5v0z&amp;amp;aid=15137&amp;amp;nid=246&#34;&gt;简单高性能的 JavaScript 组件框架 Ale.js&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1f9hjy&amp;amp;aid=14289&amp;amp;nid=233&#34;&gt;前端重构范式之 position&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyw7ikn&amp;amp;aid=14232&amp;amp;nid=232&#34;&gt;面向体验的重构优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj6ow58&amp;amp;aid=14152&amp;amp;nid=231&#34;&gt;用微前端的方式搭建类单页应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fif6kcd&amp;amp;aid=13886&amp;amp;nid=227&#34;&gt;前端重构范式之 float layout&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftevbzv&amp;amp;aid=13837&amp;amp;nid=226&#34;&gt;size-sensor：开源高性能 DOM 元素尺寸监听器&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdjks43&amp;amp;aid=13835&amp;amp;nid=226&#34;&gt;[译] Uber 开源 Fusion.js：一个基于插件架构的通用 Web 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flqz7i8&amp;amp;aid=13806&amp;amp;nid=226&#34;&gt;Node.js：浅析高并发与分布式集群&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg2nb3j&amp;amp;aid=13703&amp;amp;nid=224&#34;&gt;微前端快速选型指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fctjcpt&amp;amp;aid=13580&amp;amp;nid=223&#34;&gt;移动应用架构演变及泛前端趋势下移动团队破局&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fz50khd&amp;amp;aid=13525&amp;amp;nid=222&#34;&gt;实施前端微服务化的六七种方式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpmw8k9&amp;amp;aid=13468&amp;amp;nid=221&#34;&gt;重构 React 组件的实用清单&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo3pp4d&amp;amp;aid=13206&amp;amp;nid=217&#34;&gt;Web 框架的架构模式探讨（JavaScript 语言）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1orta0&amp;amp;aid=13207&amp;amp;nid=217&#34;&gt;[译] 你需要了解的 23 种 JavaScript 设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0bdvnn&amp;amp;aid=12942&amp;amp;nid=213&#34;&gt;Webpack 基本架构浅析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn96o20&amp;amp;aid=12747&amp;amp;nid=210&#34;&gt;浅谈 Chromium 中的设计模式（一）：Chromium 中模块分层和进程模型&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7lfr8v&amp;amp;aid=12317&amp;amp;nid=204&#34;&gt;技术雷达之 “微前端”：将微服务理念扩展到前端开发&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fq3q80x&amp;amp;aid=12083&amp;amp;nid=201&#34;&gt;从 Nuxt.js 学习到了什么&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Farjm1p&amp;amp;aid=11928&amp;amp;nid=199&#34;&gt;技术雷达之 “微前端”：将微服务理念扩展到前端开发&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgjtz0e&amp;amp;aid=11921&amp;amp;nid=199&#34;&gt;React 应用架构设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbkm8ln&amp;amp;aid=11862&amp;amp;nid=198&#34;&gt;基于 Egg 的高可靠高性能 React 同构解决方案 beidou 开源了&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft3rpu2&amp;amp;aid=11127&amp;amp;nid=188&#34;&gt;当 Web 前端架构方案遇上《金瓶梅》&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F009rtd&amp;amp;aid=11072&amp;amp;nid=187&#34;&gt;[译] 实现达到 60FPS 的高性能交互动画&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F78clyh&amp;amp;aid=10593&amp;amp;nid=181&#34;&gt;[译] 探索 ReactJS 中的 CSS 架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9cmumb&amp;amp;aid=10467&amp;amp;nid=179&#34;&gt;[译] 如何实现前端微服务化？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgwys2d&amp;amp;aid=10401&amp;amp;nid=178&#34;&gt;webpack 多页应用架构系列（十六）：善用浏览器缓存，该去则去，该留则留&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvzmo7j&amp;amp;aid=10088&amp;amp;nid=174&#34;&gt;你了解 CSS 设计模式吗？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fz3a1xm&amp;amp;aid=10034&amp;amp;nid=173&#34;&gt;前端高并发策略的更深层思考&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0vgh5v&amp;amp;aid=9614&amp;amp;nid=167&#34;&gt;美团点评酒旅前端的技术体系&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu9fwu3&amp;amp;aid=9469&amp;amp;nid=165&#34;&gt;[译] 解析 Twitter 前端架构，学习复杂场景数据设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6lihs5&amp;amp;aid=9296&amp;amp;nid=163&#34;&gt;[译] Twitter Lite 以及大规模的高性能 React 渐进式网络应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0v0kpa&amp;amp;aid=9079&amp;amp;nid=160&#34;&gt;小程序底层框架实现原理解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F54dv15&amp;amp;aid=8823&amp;amp;nid=156&#34;&gt;API 设计之道&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn0gdvg&amp;amp;aid=8790&amp;amp;nid=156&#34;&gt;[译] Google 是如何开发 Web 框架的&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu4ugs5&amp;amp;aid=7881&amp;amp;nid=141&#34;&gt;《webpack 多页应用架构系列》电子书&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpq17kb&amp;amp;aid=7739&amp;amp;nid=139&#34;&gt;在重构脚手架中掌握 React / Redux / Webpack2 基本套路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fspvwfm&amp;amp;aid=6833&amp;amp;nid=126&#34;&gt;支付宝前端应用架构的发展和选择&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Foqk60t&amp;amp;aid=6813&amp;amp;nid=126&#34;&gt;[译] Node.js 架构概览&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvypknr&amp;amp;aid=6604&amp;amp;nid=123&#34;&gt;如何重构一个大型历史项目：百度经验改版总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb6vsm5&amp;amp;aid=6008&amp;amp;nid=115&#34;&gt;公司前端开发架构改造&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fc4gdsh&amp;amp;aid=5764&amp;amp;nid=112&#34;&gt;58 同城前后端分离开发模式实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwt0rm6&amp;amp;aid=5734&amp;amp;nid=111&#34;&gt;[译] Redux：一个启发自 Flux 的架构风格&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1kk7rx&amp;amp;aid=5504&amp;amp;nid=109&#34;&gt;从两个角度，一个小例子浅析 Node.js 架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwuj4vg&amp;amp;aid=5151&amp;amp;nid=104&#34;&gt;前端也应该了解点 Docker 知识：Docker 架构（上）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fihikv&amp;amp;aid=2710&amp;amp;nid=77&#34;&gt;前端技能训练：重构一 (@Phodal)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;大数据&#34;&gt;大数据&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzh3mw4w&amp;amp;aid=19257&amp;amp;nid=305&#34;&gt;我司用了 6 年的 Redis 分布式限流器，可以说是非常厉害了&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg0xaal7&amp;amp;aid=18804&amp;amp;nid=297&#34;&gt;Data Lake 架构揭秘&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5ynbn24&amp;amp;aid=18684&amp;amp;nid=295&#34;&gt;[译] EOS 的 BM：为什么区块链是更好的应用服务器/数据库架构？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpqs9wa4&amp;amp;aid=18557&amp;amp;nid=292&#34;&gt;大数据平台架构设计探究&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp03yz5o&amp;amp;aid=18372&amp;amp;nid=290&#34;&gt;漫谈大数据平台架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwww9xod&amp;amp;aid=18191&amp;amp;nid=287&#34;&gt;基于 Redis 实现的延迟消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo0y10it&amp;amp;aid=17812&amp;amp;nid=281&#34;&gt;小米 Go 开发实践：用 Go 构建高性能数据库中间件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2nh8e2o&amp;amp;aid=17708&amp;amp;nid=280&#34;&gt;微服务架构下，MySQL 读写分离后，数据库 CPU 飙升卡壳问题解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5w5rot6&amp;amp;aid=17705&amp;amp;nid=280&#34;&gt;使用 MySQL 模拟 Redis&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F16xzr6g&amp;amp;aid=17624&amp;amp;nid=279&#34;&gt;海量数据实时分析服务技术架构演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8qd3ihj&amp;amp;aid=17460&amp;amp;nid=277&#34;&gt;浅谈车联网数据架构的那些坑&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzy1vawh&amp;amp;aid=17385&amp;amp;nid=276&#34;&gt;端到端一致性，流系统 Spark/Flink/Kafka/DataFlow 对比总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2ti19i0&amp;amp;aid=17235&amp;amp;nid=274&#34;&gt;支撑微信支付的数据库如何提供超 300 万 TPCC 事务处理能力？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkpzid9&amp;amp;aid=16684&amp;amp;nid=267&#34;&gt;每秒千万级的实时数据处理是怎么实现的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0lqb9u&amp;amp;aid=16615&amp;amp;nid=266&#34;&gt;流沙：宜信安全数据平台实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F621wdc&amp;amp;aid=16469&amp;amp;nid=264&#34;&gt;数据与广告系列（七）：广告与推荐系统技术架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmndgeq&amp;amp;aid=16293&amp;amp;nid=262&#34;&gt;分布式数据缓存中的一致性哈希算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb78d1l&amp;amp;aid=16277&amp;amp;nid=262&#34;&gt;从零开始入门推荐算法工程师&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmlh95d&amp;amp;aid=16009&amp;amp;nid=259&#34;&gt;Alluxio 创始成员范斌：AI 与开源背景下数据架构的演变&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F88u0ec&amp;amp;aid=15883&amp;amp;nid=257&#34;&gt;基于 Redis 和 Lua 的分布式限流&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpadg21&amp;amp;aid=15650&amp;amp;nid=253&#34;&gt;NutsDB：纯 Go 编写的高性能内嵌型 KV 数据库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbx4tiy&amp;amp;aid=15297&amp;amp;nid=249&#34;&gt;那些年用过的 Redis 集群架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F44rb55&amp;amp;aid=15000&amp;amp;nid=244&#34;&gt;为什么使用主数据思维构建微服务是一种好方式？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmp156e&amp;amp;aid=14893&amp;amp;nid=243&#34;&gt;业务库负载翻了百倍，我做了什么来拯救 MySQL 架构？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgpg6tz&amp;amp;aid=14873&amp;amp;nid=242&#34;&gt;MIT 6.824 学习笔记（一）：MapReduce 详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frm0hc6&amp;amp;aid=14832&amp;amp;nid=242&#34;&gt;毫秒级从百亿大表任意维度筛选数据是怎么做到的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fubh2z8&amp;amp;aid=14811&amp;amp;nid=241&#34;&gt;用 Redis 实现分布式幂等服务中间件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1w7ee1&amp;amp;aid=14650&amp;amp;nid=239&#34;&gt;携程数据库高可用和容灾架构演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1kid2f&amp;amp;aid=14510&amp;amp;nid=237&#34;&gt;大规模 MySQL 运维陷阱之基于 MyCat 的伪分布式架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvx5em2&amp;amp;aid=14543&amp;amp;nid=237&#34;&gt;自己写分布式限流组件：基于 Redis 的 RateLimter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffxnlcx&amp;amp;aid=14485&amp;amp;nid=236&#34;&gt;分布式高性能 Redis 集群线上常见问题&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3ki1zs&amp;amp;aid=14383&amp;amp;nid=235&#34;&gt;海量数据的挑战：微博直播答题架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkwdn9d&amp;amp;aid=14382&amp;amp;nid=235&#34;&gt;大数据推荐系统实时架构和离线架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7klmai&amp;amp;aid=14358&amp;amp;nid=234&#34;&gt;ZooKeeper 架构设计与角色分工&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzpyhlq&amp;amp;aid=14251&amp;amp;nid=233&#34;&gt;从单机到 2000 万 QPS：知乎 Redis 平台发展与演进之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fw8pn06&amp;amp;aid=14250&amp;amp;nid=233&#34;&gt;阿里如何实现秒级百万 TPS？搜索离线大数据平台架构解读&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F99yztm&amp;amp;aid=14086&amp;amp;nid=230&#34;&gt;分布式数据库 MVCC 技术探秘（二）：混合逻辑时钟&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkwj7pg&amp;amp;aid=13979&amp;amp;nid=229&#34;&gt;美图大数据平台架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F114cq1&amp;amp;aid=13916&amp;amp;nid=228&#34;&gt;360 大数据中心平台化的演进与实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqbsxb1&amp;amp;aid=13850&amp;amp;nid=227&#34;&gt;金融级数据库的多活架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2cvy58&amp;amp;aid=13813&amp;amp;nid=226&#34;&gt;分布式数据库 MVCC 技术探秘（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2wekdm&amp;amp;aid=13792&amp;amp;nid=226&#34;&gt;58 速运架构实战：拆分服务与 DB，突破 “中心化” 瓶颈&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzvkt04&amp;amp;aid=13657&amp;amp;nid=224&#34;&gt;面向机器学习数据平台的设计与搭建&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsvnpvi&amp;amp;aid=13694&amp;amp;nid=224&#34;&gt;[译] Flink 创始人谈流计算核心架构演化和现状&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpdwme8&amp;amp;aid=13581&amp;amp;nid=223&#34;&gt;京东推荐系统架构揭秘：大数据时代下的智能化改造&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr6hzop&amp;amp;aid=13536&amp;amp;nid=222&#34;&gt;HBase 高性能随机查询之道：HFile 原理解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4sc1s0&amp;amp;aid=13520&amp;amp;nid=222&#34;&gt;沪江订单系统分表项目实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjoh2qt&amp;amp;aid=13484&amp;amp;nid=221&#34;&gt;快速理解 OpenTSDB 的 Schema 设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7w2ccy&amp;amp;aid=13428&amp;amp;nid=220&#34;&gt;Google F1 是如何做 Schema 变更的&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxgjvf4&amp;amp;aid=13357&amp;amp;nid=219&#34;&gt;理解索引：HBase 介绍和架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbbcpjn&amp;amp;aid=13252&amp;amp;nid=218&#34;&gt;PB 级海量数据服务平台架构设计实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcazqgv&amp;amp;aid=13222&amp;amp;nid=217&#34;&gt;MySQL 高可用集群方案之 PXC&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh4do84&amp;amp;aid=13023&amp;amp;nid=214&#34;&gt;青云新一代分布式数据库 RadonDB 开源了&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1usznh&amp;amp;aid=12949&amp;amp;nid=213&#34;&gt;[译] 使用 Redis 实现高流量的限速器&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhf599t&amp;amp;aid=12902&amp;amp;nid=213&#34;&gt;BigTable 系统的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3kiiw1&amp;amp;aid=12877&amp;amp;nid=212&#34;&gt;分布式强一致性数据库的灵魂：Raft 算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft7jma7&amp;amp;aid=12769&amp;amp;nid=211&#34;&gt;史上最全 Redis 高可用技术解决方案大全&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6cr0xa&amp;amp;aid=12661&amp;amp;nid=209&#34;&gt;同为分布式缓存，为何 Redis 更胜一筹？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2a9ayg&amp;amp;aid=12667&amp;amp;nid=209&#34;&gt;MPP 的进化：深入理解 Batch 和 MPP 优缺点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fezmax6&amp;amp;aid=12626&amp;amp;nid=209&#34;&gt;每天数百亿用户行为数据，美团点评怎么实现秒级转化分析？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frpo5x5&amp;amp;aid=12584&amp;amp;nid=208&#34;&gt;浅谈大数据平台基建的逻辑&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm0se1z&amp;amp;aid=12191&amp;amp;nid=203&#34;&gt;分布式系统数据层设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu64f4z&amp;amp;aid=12116&amp;amp;nid=202&#34;&gt;分布式 Redis 架构设计简介&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwvm2jp&amp;amp;aid=11879&amp;amp;nid=199&#34;&gt;Hulu 大数据架构与应用经验&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyz54cq&amp;amp;aid=11634&amp;amp;nid=195&#34;&gt;dedid：为分布式数据库而设计的全局唯一 ID（主键）生成器&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fltrkvn&amp;amp;aid=11592&amp;amp;nid=195&#34;&gt;OceanBase 1.0 分布式技术架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5j581f&amp;amp;aid=11551&amp;amp;nid=194&#34;&gt;分布式数据库的故障和常见处理机制&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj0n7id&amp;amp;aid=11517&amp;amp;nid=194&#34;&gt;如何打造千万级 Feed 流系统？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flztm2c&amp;amp;aid=11432&amp;amp;nid=193&#34;&gt;基于 Redis 的限流系统的设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8h65sd&amp;amp;aid=11335&amp;amp;nid=191&#34;&gt;使用 Redis 实现分布式锁及其优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5fktt9&amp;amp;aid=11242&amp;amp;nid=190&#34;&gt;浅谈分布式存储系统中的数据一致性要求&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv74im8&amp;amp;aid=11090&amp;amp;nid=187&#34;&gt;分布式搜索数据库性能探究&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpf86r4&amp;amp;aid=10955&amp;amp;nid=186&#34;&gt;人工智能在线特征系统中的生产调度&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2znejs&amp;amp;aid=10488&amp;amp;nid=180&#34;&gt;Redis 在京东到家的订单中的使用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm7wnyn&amp;amp;aid=10411&amp;amp;nid=179&#34;&gt;PhxSQL 设计与实现（详细版）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd7b2z4&amp;amp;aid=10260&amp;amp;nid=176&#34;&gt;1 对多业务，数据库水平切分架构一次搞定&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3egyo2&amp;amp;aid=10243&amp;amp;nid=176&#34;&gt;使用 DDAL 快速构建分布式数据库应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2tvmmk&amp;amp;aid=10205&amp;amp;nid=176&#34;&gt;基于大数据平台的实时质量监控平台的架构设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ficvg0r&amp;amp;aid=10159&amp;amp;nid=175&#34;&gt;一张思维导图学会如何构建高性能 MySQL 系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5bst03&amp;amp;aid=10065&amp;amp;nid=174&#34;&gt;美团点评数据库高可用架构的演进与设想&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdlkoz9&amp;amp;aid=9897&amp;amp;nid=171&#34;&gt;揭秘网易大数据实践与基于微服务的应用架构设计实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjo3rvs&amp;amp;aid=9812&amp;amp;nid=170&#34;&gt;典型数据库架构设计与实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3bfosy&amp;amp;aid=9715&amp;amp;nid=169&#34;&gt;360 海量数据存储 Zeppelin 设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb3mj7w&amp;amp;aid=9655&amp;amp;nid=168&#34;&gt;搭建一个 Redis 高可用系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fk5vzku&amp;amp;aid=9654&amp;amp;nid=168&#34;&gt;滴滴出行海量数据背后的高可用架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj4639h&amp;amp;aid=9588&amp;amp;nid=167&#34;&gt;iOS 无埋点数据 SDK 的整体设计与技术实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fq1j0l1&amp;amp;aid=9611&amp;amp;nid=167&#34;&gt;大数据环境下该如何优雅地设计数据分层&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F73n6pb&amp;amp;aid=9519&amp;amp;nid=166&#34;&gt;美团的大数据平台架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F131fd5&amp;amp;aid=9446&amp;amp;nid=165&#34;&gt;日处理 20 亿数据，实时用户行为服务系统架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fio6pkb&amp;amp;aid=9472&amp;amp;nid=165&#34;&gt;CRS：腾讯云 Redis 产品架构解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F90t7zh&amp;amp;aid=9005&amp;amp;nid=159&#34;&gt;微服务架构下的分布式数据管理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4j5kpq&amp;amp;aid=9003&amp;amp;nid=159&#34;&gt;中华万年历大数据平台演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flteldm&amp;amp;aid=9038&amp;amp;nid=159&#34;&gt;京东发布 MySQL Group Replication 官方文档中文版&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5in72j&amp;amp;aid=8791&amp;amp;nid=156&#34;&gt;微店索引数据 dump 架构演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp21ck6&amp;amp;aid=8646&amp;amp;nid=154&#34;&gt;OceanBase 1.0 分布式技术架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmnuuvd&amp;amp;aid=8579&amp;amp;nid=153&#34;&gt;万亿级数据洪峰下的分布式消息引擎&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpts7bc&amp;amp;aid=8569&amp;amp;nid=152&#34;&gt;Gores：Go 语言编写的基于 Redis 的消息队列系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fucy4jn&amp;amp;aid=8289&amp;amp;nid=148&#34;&gt;MySQL 高性能存储引擎：TokuDB 初探&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftsuyz4&amp;amp;aid=8226&amp;amp;nid=147&#34;&gt;[译] 不使用 Trigger 的设计理念&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgfsopo&amp;amp;aid=8224&amp;amp;nid=147&#34;&gt;NewSQL 究竟新在哪里？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0bmanu&amp;amp;aid=8016&amp;amp;nid=144&#34;&gt;神策分析的技术选型与架构实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7iewb4&amp;amp;aid=7125&amp;amp;nid=130&#34;&gt;MySQL 数据库中间件的高可用方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Feonf0v&amp;amp;aid=6971&amp;amp;nid=128&#34;&gt;数据系统架构：Lambda architecture&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgx5hfc&amp;amp;aid=6965&amp;amp;nid=128&#34;&gt;用 MHA 轻松实现 MySQL 高可用（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8u2o1a&amp;amp;aid=6973&amp;amp;nid=128&#34;&gt;大数据环境下互联网行业数据仓库/数据平台的架构之漫谈（续）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0kzpxa&amp;amp;aid=6811&amp;amp;nid=126&#34;&gt;海量高性能列式数据库 HiStore 技术架构解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9y8l7q&amp;amp;aid=6713&amp;amp;nid=124&#34;&gt;MySQL 架构优化实战系列（二）：主从复制同步与查询性能调优&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8b4zfw&amp;amp;aid=6311&amp;amp;nid=119&#34;&gt;iOS MVVM 架构：界面与数据 I/O 逻辑分离的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6cx07b&amp;amp;aid=6248&amp;amp;nid=118&#34;&gt;Redis 字符串类型实现内幕&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm1z3dv&amp;amp;aid=6138&amp;amp;nid=117&#34;&gt;乐视秒杀：每秒十万笔交易的数据架构解读&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmgyqgq&amp;amp;aid=6096&amp;amp;nid=116&#34;&gt;从日志统计到大数据分析（十六）：元&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb5wu4n&amp;amp;aid=6019&amp;amp;nid=115&#34;&gt;秒级处理海量数据，浙江移动大数据平台是怎么做到的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3tr1ro&amp;amp;aid=5901&amp;amp;nid=114&#34;&gt;Hadoop NameNode 高可用 (High Availability) 实现解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flf5p2m&amp;amp;aid=5361&amp;amp;nid=107&#34;&gt;用 Swift 搭建数据驱动型 iOS 架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx4459x&amp;amp;aid=5329&amp;amp;nid=106&#34;&gt;[译] 数据处理平台架构中的 SMACK 组合&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fynunyg&amp;amp;aid=4857&amp;amp;nid=101&#34;&gt;大数据 / 数据挖掘 / 推荐系统 / 机器学习相关资源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnb0fio&amp;amp;aid=4299&amp;amp;nid=95&#34;&gt;我所理解的大数据个性化推荐&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm5b8fh&amp;amp;aid=4063&amp;amp;nid=93&#34;&gt;数据库软件架构设计些什么&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fi7s7se&amp;amp;aid=4062&amp;amp;nid=93&#34;&gt;基于用户画像大数据的电商防刷架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;存储&#34;&gt;存储&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl8oghr&amp;amp;aid=14990&amp;amp;nid=244&#34;&gt;Ambry：LinkedIn 对象存储论文翻译&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqlz79l&amp;amp;aid=14878&amp;amp;nid=242&#34;&gt;唯品会分布式强一致日志存储系统 VDL 正式对外开源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F09bshx&amp;amp;aid=13957&amp;amp;nid=228&#34;&gt;使用开源技术构建有赞分布式 KV 存储服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F505qkj&amp;amp;aid=13851&amp;amp;nid=227&#34;&gt;天池中间件大赛：单机百万消息队列存储分享&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fehk25r&amp;amp;aid=12525&amp;amp;nid=207&#34;&gt;GlusterFS 纠删码最佳实践应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fe0h0tu&amp;amp;aid=12254&amp;amp;nid=203&#34;&gt;Zeppelin：奇虎 360 出品的高性能分布式 KV 存储平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpjgx6k&amp;amp;aid=11861&amp;amp;nid=198&#34;&gt;VDL：唯品会强一致、高可用、高性能分布式日志存储介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7yen01&amp;amp;aid=11351&amp;amp;nid=191&#34;&gt;Pegasus：小米出品的分布式 Key-Value 存储系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgkwe82&amp;amp;aid=11251&amp;amp;nid=190&#34;&gt;分布式键值存储 Dynamo 的实现原理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5fktt9&amp;amp;aid=11242&amp;amp;nid=190&#34;&gt;浅谈分布式存储系统中的数据一致性要求&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Famj0xn&amp;amp;aid=11203&amp;amp;nid=189&#34;&gt;badger：一个高性能的 LSM K/V store&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5qqd3w&amp;amp;aid=10990&amp;amp;nid=186&#34;&gt;我跟存储的这 10 年&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3bfosy&amp;amp;aid=9715&amp;amp;nid=169&#34;&gt;360 海量数据存储 Zeppelin 设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd9f2pk&amp;amp;aid=9554&amp;amp;nid=166&#34;&gt;Kudu：一个融合低延迟写入和高性能分析的存储系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fubeub6&amp;amp;aid=9197&amp;amp;nid=161&#34;&gt;Spark 自己的分布式存储系统：BlockManager&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8v4dgh&amp;amp;aid=8647&amp;amp;nid=154&#34;&gt;微信红包订单存储架构变迁的最佳实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fucy4jn&amp;amp;aid=8289&amp;amp;nid=148&#34;&gt;MySQL 高性能存储引擎：TokuDB 初探&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fttqk69&amp;amp;aid=7995&amp;amp;nid=143&#34;&gt;一名分布式存储工程师的技能树是怎样的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjgeeg9&amp;amp;aid=7777&amp;amp;nid=140&#34;&gt;自己动手写分布式 KV 存储引擎（二）：网络框架中的定时器原理和实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh1z7r3&amp;amp;aid=7020&amp;amp;nid=129&#34;&gt;Android 存储系统之架构篇&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbowh0f&amp;amp;aid=6010&amp;amp;nid=115&#34;&gt;一名分布式存储工程师的技能树是怎样的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F73xmbk&amp;amp;aid=5559&amp;amp;nid=109&#34;&gt;美团云分布式块存储系统 Ursa 的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fq9mtan&amp;amp;aid=5146&amp;amp;nid=104&#34;&gt;微博分布式存储考试题：案例讲解及作业精选&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;微服务&#34;&gt;微服务&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fovtxful&amp;amp;aid=19525&amp;amp;nid=311&#34;&gt;走出微服务误区：避免从单体到分布式单体&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frtfen2n&amp;amp;aid=19427&amp;amp;nid=309&#34;&gt;一次漫长的 Dubbo 网关内存泄露排查经历&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fibh4mpc&amp;amp;aid=19223&amp;amp;nid=304&#34;&gt;微服务、DevOps…不是效率银弹，请同时升级你的管理方式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F08ex0sl&amp;amp;aid=19127&amp;amp;nid=302&#34;&gt;微服务超全的设计选型参考&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftr32h3p&amp;amp;aid=19048&amp;amp;nid=301&#34;&gt;微信 10 亿日活场景下，后台系统微服务架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmgrqr95&amp;amp;aid=18961&amp;amp;nid=299&#34;&gt;Spring Cloud 微服务：阿里开源组件 Nacos，服务和配置管理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxiqy4d6&amp;amp;aid=18916&amp;amp;nid=298&#34;&gt;[译] 5 分钟搭建 Node.js 微服务原型&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F82560ps&amp;amp;aid=18833&amp;amp;nid=297&#34;&gt;花椒直播 Kong 应用实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fctuh4xl&amp;amp;aid=18752&amp;amp;nid=296&#34;&gt;微服务杂谈&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6pkbspo&amp;amp;aid=18702&amp;amp;nid=295&#34;&gt;企业级微服务解决方案 v3.2.0 发布&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbtws1rn&amp;amp;aid=18635&amp;amp;nid=294&#34;&gt;不是银弹：关于微服务的一点思考&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9st5xky&amp;amp;aid=18612&amp;amp;nid=294&#34;&gt;CODING 微服务架构演进之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frbfhyll&amp;amp;aid=18651&amp;amp;nid=294&#34;&gt;Spring Boot 与微服务从 0 到 1 的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2tc96jt&amp;amp;aid=18636&amp;amp;nid=294&#34;&gt;微服务统一认证与授权的 Go 语言实现（上）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F940ata9&amp;amp;aid=18432&amp;amp;nid=291&#34;&gt;探探如何三个月完成微服务改造，以及踩过的 “坑”&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwsek9ag&amp;amp;aid=18362&amp;amp;nid=290&#34;&gt;余额宝背后的服务治理架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3e7lgvy&amp;amp;aid=18170&amp;amp;nid=287&#34;&gt;2w 字长文，让你瞬间拥有 “调用链” 开发经验&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fw9edu5t&amp;amp;aid=17875&amp;amp;nid=282&#34;&gt;腾讯微服务框架 Tars 的 Go 性能提升之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5necrxf&amp;amp;aid=17815&amp;amp;nid=281&#34;&gt;.NET Core 微服务网关 Bumblebee 架设&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkc0iaka&amp;amp;aid=17814&amp;amp;nid=281&#34;&gt;Go 微服务全链路跟踪详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fc20pykp&amp;amp;aid=17782&amp;amp;nid=281&#34;&gt;微服务架构之网关层 Zuul 剖析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2nh8e2o&amp;amp;aid=17708&amp;amp;nid=280&#34;&gt;微服务架构下，MySQL 读写分离后，数据库 CPU 飙升卡壳问题解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9xnhkda&amp;amp;aid=17481&amp;amp;nid=277&#34;&gt;Service Mesh 发展趋势（续）：棋到中盘路往何方&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fy91g23q&amp;amp;aid=17488&amp;amp;nid=277&#34;&gt;微服务 API 通过 ip 可访问，域名不可访问问题分析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsh3lncg&amp;amp;aid=17296&amp;amp;nid=274&#34;&gt;互联网架构微服务已经成为主流，Go 语言如何去打造呢？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fndbbm8o&amp;amp;aid=17252&amp;amp;nid=274&#34;&gt;万字长文全面解析 GraphQL，携程微服务背景下的前后端数据交互方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fns7pxad&amp;amp;aid=17233&amp;amp;nid=274&#34;&gt;颠覆微服务认知：深入思考微服务的七个主流观点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftq492f&amp;amp;aid=17102&amp;amp;nid=272&#34;&gt;微服务中使用 OpenJ9 JVM 内存占用降 60%（相对 HotSpot）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhn0ni4&amp;amp;aid=17003&amp;amp;nid=270&#34;&gt;高性能微服务网关 .NETCore 客户端 Kong.Net 开源发布&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft5kl7a&amp;amp;aid=16740&amp;amp;nid=267&#34;&gt;微服务任务调度平台 SIA-TASK 入手实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0iwp7w&amp;amp;aid=16601&amp;amp;nid=266&#34;&gt;[译] 为什么微服务适合我们&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F527e3y&amp;amp;aid=16600&amp;amp;nid=266&#34;&gt;微服务架构与领域驱动设计应用实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp54rbk&amp;amp;aid=16547&amp;amp;nid=265&#34;&gt;[译] 容器、微服务和服务网格简史&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F56ji5m&amp;amp;aid=16443&amp;amp;nid=264&#34;&gt;个推基于 Zipkin 的分布式链路追踪实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvwjg5c&amp;amp;aid=16440&amp;amp;nid=264&#34;&gt;可落地的 DDD（三）：如何利用 DDD 进行微服务的划分&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo84er8&amp;amp;aid=16470&amp;amp;nid=264&#34;&gt;轻松构建微服务之分布式配置中心&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F57dduv&amp;amp;aid=16356&amp;amp;nid=263&#34;&gt;轻松构建微服务之远程调用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx7mni2&amp;amp;aid=16287&amp;amp;nid=262&#34;&gt;微服务架构下的配置管理：Apollo&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmeg1cl&amp;amp;aid=16252&amp;amp;nid=262&#34;&gt;土味微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7q0a3u&amp;amp;aid=16189&amp;amp;nid=261&#34;&gt;微服务化后缓存怎么做&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flzegj5&amp;amp;aid=16108&amp;amp;nid=260&#34;&gt;最全的微服务知识科普&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ff1k7wv&amp;amp;aid=16052&amp;amp;nid=259&#34;&gt;聊一聊微服务网关 kong 近期的模型变迁&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F37u12h&amp;amp;aid=16020&amp;amp;nid=259&#34;&gt;小团队微服务落地实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Foopku4&amp;amp;aid=15866&amp;amp;nid=257&#34;&gt;[译] 未来我们对微服务和 Serverless 架构有什么期望&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6018jy&amp;amp;aid=15887&amp;amp;nid=257&#34;&gt;[译] 混合微服务模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffnp7wn&amp;amp;aid=15727&amp;amp;nid=255&#34;&gt;微保 API 网关的探索与实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fawfudg&amp;amp;aid=15641&amp;amp;nid=253&#34;&gt;[译] 使用 Grab 的实验平台进行混沌实验编排&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F74yprd&amp;amp;aid=15520&amp;amp;nid=252&#34;&gt;离不开的微服务架构，脱不开的 RPC 细节&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjldsgp&amp;amp;aid=15500&amp;amp;nid=251&#34;&gt;小团队的微服务之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F43p70f&amp;amp;aid=15428&amp;amp;nid=250&#34;&gt;对没有监控的微服务 Say No&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6ymuhx&amp;amp;aid=15401&amp;amp;nid=250&#34;&gt;虎牙直播在微服务改造方面的实践和总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fodbfuv&amp;amp;aid=15397&amp;amp;nid=250&#34;&gt;B 站基于大仓库的 CI/CD 及微服务实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ff0uwf1&amp;amp;aid=15360&amp;amp;nid=250&#34;&gt;从 “挖光缆” 到 “剪网线”：蚂蚁金服异地多活单元化架构下的微服务体系&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F65zho9&amp;amp;aid=15186&amp;amp;nid=247&#34;&gt;重新理解 Martin Fowler 对微服务的定义&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fz1n2qv&amp;amp;aid=15086&amp;amp;nid=246&#34;&gt;小型系统如何 “微服务” 开发&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpiiy8y&amp;amp;aid=15057&amp;amp;nid=245&#34;&gt;Kafka 如何解决常见的微服务通信问题&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F44rb55&amp;amp;aid=15000&amp;amp;nid=244&#34;&gt;为什么使用主数据思维构建微服务是一种好方式？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4ju4tg&amp;amp;aid=14892&amp;amp;nid=243&#34;&gt;[译] 微服务设计指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcai7gs&amp;amp;aid=14932&amp;amp;nid=243&#34;&gt;随行付微服务之数据同步 Porter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvnvqk7&amp;amp;aid=14937&amp;amp;nid=243&#34;&gt;[译] 微服务通信的设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyp0jtz&amp;amp;aid=14874&amp;amp;nid=242&#34;&gt;走进 Service Mesh&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjzn3sg&amp;amp;aid=14801&amp;amp;nid=241&#34;&gt;Restful API 监控实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fms81by&amp;amp;aid=14770&amp;amp;nid=241&#34;&gt;DAGOR：微信微服务过载控制系统（附论文）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4gy52r&amp;amp;aid=14747&amp;amp;nid=240&#34;&gt;微服务测试的思考与实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcwhh48&amp;amp;aid=14714&amp;amp;nid=240&#34;&gt;基于 Spring Cloud 的微服务架构演变史&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fodkk8i&amp;amp;aid=14651&amp;amp;nid=239&#34;&gt;致传统企业朋友：不够痛就别微服务，有坑&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F39utp2&amp;amp;aid=14561&amp;amp;nid=237&#34;&gt;讨论微服务之前，你知道微服务的 4 个定义吗？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3n201x&amp;amp;aid=14549&amp;amp;nid=237&#34;&gt;个推基于 Docker 和 Kubernetes 的微服务实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9o4d71&amp;amp;aid=14311&amp;amp;nid=234&#34;&gt;爱奇艺视频后台从 “单兵作战” 到 “团队协作” 的微服务实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl2jvii&amp;amp;aid=14234&amp;amp;nid=232&#34;&gt;基于 consul 实现微服务的服务发现和负载均衡&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqu5cwp&amp;amp;aid=14160&amp;amp;nid=231&#34;&gt;SOFA 微服务多语言演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj6ow58&amp;amp;aid=14152&amp;amp;nid=231&#34;&gt;用微前端的方式搭建类单页应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd7394m&amp;amp;aid=14161&amp;amp;nid=231&#34;&gt;认证鉴权与 API 权限控制在微服务架构中的设计与实现：升级&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyrntvt&amp;amp;aid=14052&amp;amp;nid=230&#34;&gt;为啥我用了微服务架构，软件还是不好修改啊？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6vcdxh&amp;amp;aid=14032&amp;amp;nid=229&#34;&gt;携程微服务架构下的测试浅谈&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmwhpkm&amp;amp;aid=13968&amp;amp;nid=228&#34;&gt;[译] 推荐 30 个用于微服务的顶级工具&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbcqfzr&amp;amp;aid=13918&amp;amp;nid=228&#34;&gt;[译] 微服务的 10 个挑战和解决方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fe35r0j&amp;amp;aid=13769&amp;amp;nid=225&#34;&gt;服务框架的技术栈&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcy05s1&amp;amp;aid=13687&amp;amp;nid=224&#34;&gt;深入解读 Service Mesh 背后的技术细节&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0hkfi4&amp;amp;aid=13706&amp;amp;nid=224&#34;&gt;Spring Cloud 微服务版本灰度发布新神器&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg2nb3j&amp;amp;aid=13703&amp;amp;nid=224&#34;&gt;微前端快速选型指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn15ny2&amp;amp;aid=13692&amp;amp;nid=224&#34;&gt;如何构建安全的微服务应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2bho18&amp;amp;aid=13613&amp;amp;nid=223&#34;&gt;微服务设计模式之 API 网关&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fs4e7gh&amp;amp;aid=13539&amp;amp;nid=222&#34;&gt;基于 Restful 的微服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu5779u&amp;amp;aid=13529&amp;amp;nid=222&#34;&gt;微服务架构实践：API Gateway&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fz50khd&amp;amp;aid=13525&amp;amp;nid=222&#34;&gt;实施前端微服务化的六七种方式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvtdynn&amp;amp;aid=13513&amp;amp;nid=222&#34;&gt;蚂蚁金服大规模微服务架构下的 Service Mesh 探索之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpa4438&amp;amp;aid=13449&amp;amp;nid=221&#34;&gt;苏宁数据中台基于 Spring Cloud 微服务架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzjf7v8&amp;amp;aid=13390&amp;amp;nid=220&#34;&gt;微服务化的基石：持续集成&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fng7jym&amp;amp;aid=13356&amp;amp;nid=219&#34;&gt;Go 微服务实战汇总&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3ew1fe&amp;amp;aid=13331&amp;amp;nid=219&#34;&gt;基于微服务的日志中心设计、实现与关键配置&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8fhmhg&amp;amp;aid=13253&amp;amp;nid=218&#34;&gt;微服务化之缓存的设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdymu8x&amp;amp;aid=13212&amp;amp;nid=217&#34;&gt;Netflix 的微服务是如何分层的&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fw2hntl&amp;amp;aid=13224&amp;amp;nid=217&#34;&gt;API 管理的正确姿势：API Gateway&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbkh1sp&amp;amp;aid=13122&amp;amp;nid=216&#34;&gt;如何基于 Golang 设计一套微服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fglzqvq&amp;amp;aid=13131&amp;amp;nid=216&#34;&gt;Eureka + Zuul + Feign + Hystrix 构建微服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F15f6ny&amp;amp;aid=13111&amp;amp;nid=216&#34;&gt;微服务 2.0 技术栈选型手册&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flv7vry&amp;amp;aid=13042&amp;amp;nid=215&#34;&gt;51 信用卡在微服务架构下的监控平台架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1ragmw&amp;amp;aid=13098&amp;amp;nid=215&#34;&gt;从跨语言调用到 dubbo2.js&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fi5wznu&amp;amp;aid=12970&amp;amp;nid=214&#34;&gt;[译] 事件溯源|日志记录：一个基础的微服务模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhipgg3&amp;amp;aid=12969&amp;amp;nid=214&#34;&gt;无服务器架构下的运维&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frsa4iv&amp;amp;aid=12947&amp;amp;nid=213&#34;&gt;从零搭建一个基于 Istio 的服务网格&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhiwdeq&amp;amp;aid=12943&amp;amp;nid=213&#34;&gt;Service Mesh 及其主流开源实现解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1kjbj5&amp;amp;aid=12924&amp;amp;nid=213&#34;&gt;罗辑思维 Go 语言微服务改造实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6xqcpp&amp;amp;aid=12789&amp;amp;nid=211&#34;&gt;基于 Spring Cloud 的 Microservices 架构实战案例：配置文件属性内容加解密&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx9ffwo&amp;amp;aid=12828&amp;amp;nid=211&#34;&gt;腾讯出品的微服务框架的名字服务解决方案 TSeer 正式开源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhkawin&amp;amp;aid=12817&amp;amp;nid=211&#34;&gt;为什么 Kubernetes 天然适合微服务？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzpvlor&amp;amp;aid=12710&amp;amp;nid=210&#34;&gt;基于 Spring Cloud 的 Microservices 架构实战案例：架构拆解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwdgigp&amp;amp;aid=12691&amp;amp;nid=210&#34;&gt;认证鉴权与 API 权限控制在微服务架构中的设计与实现：授权码模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx0w7ai&amp;amp;aid=12709&amp;amp;nid=210&#34;&gt;基于 Spring Cloud 的微服务落地&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwozb21&amp;amp;aid=12750&amp;amp;nid=210&#34;&gt;微服务化的不同阶段 Kubernetes 的不同玩法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F206sbe&amp;amp;aid=12739&amp;amp;nid=210&#34;&gt;从 Spring Cloud 看一个微服务框架的 “五脏六腑”&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8284lx&amp;amp;aid=12512&amp;amp;nid=207&#34;&gt;微网关与服务啮合&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9t19hj&amp;amp;aid=12446&amp;amp;nid=206&#34;&gt;手把手教你搭建一套可自动化构建的微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2jqfk6&amp;amp;aid=12407&amp;amp;nid=206&#34;&gt;微服务架构下的立体监控系统设计和实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F38d3c9&amp;amp;aid=12405&amp;amp;nid=206&#34;&gt;全面解析京东微服务平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmfs5yn&amp;amp;aid=12312&amp;amp;nid=204&#34;&gt;基于 Sanic 的微服务基础架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7lfr8v&amp;amp;aid=12317&amp;amp;nid=204&#34;&gt;技术雷达之 “微前端”：将微服务理念扩展到前端开发&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F46f4t0&amp;amp;aid=12248&amp;amp;nid=203&#34;&gt;使用 Istio 治理微服务入门&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh7i1x8&amp;amp;aid=11888&amp;amp;nid=199&#34;&gt;TDD 开发容器化的 Python 微服务应用（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Farjm1p&amp;amp;aid=11928&amp;amp;nid=199&#34;&gt;技术雷达之 “微前端”：将微服务理念扩展到前端开发&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9we6bi&amp;amp;aid=11532&amp;amp;nid=194&#34;&gt;Go 使用 grpc + http 打造高性能微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyuww62&amp;amp;aid=11355&amp;amp;nid=192&#34;&gt;[译] 如何设计实现真正的响应式微服务系统？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8s8pwz&amp;amp;aid=11344&amp;amp;nid=191&#34;&gt;腾讯与阅文技术合作，微服务框架 Tars 再添 PHP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyxd30b&amp;amp;aid=11170&amp;amp;nid=189&#34;&gt;阿里云基于 Go 的微服务架构分享&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvii7xj&amp;amp;aid=11077&amp;amp;nid=187&#34;&gt;[译] 微服务从设计到部署（七）：重构单体为微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvwuc9h&amp;amp;aid=11008&amp;amp;nid=186&#34;&gt;[译] 微服务生态系统的 4 层模型&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0wtw8o&amp;amp;aid=10992&amp;amp;nid=186&#34;&gt;Kubernetes、微服务以及 Service Mesh&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbq83y1&amp;amp;aid=10789&amp;amp;nid=184&#34;&gt;微服务的 4 个设计原则和 19 个解决方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fttmk3n&amp;amp;aid=10790&amp;amp;nid=184&#34;&gt;微服务 API 级权限的技术架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbbht62&amp;amp;aid=10855&amp;amp;nid=184&#34;&gt;php-msf：基于 Swoole 的工程级企业微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv1bkhw&amp;amp;aid=10752&amp;amp;nid=183&#34;&gt;[译] 微服务从设计到部署（二）：使用 API 网关&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg5t9sg&amp;amp;aid=10715&amp;amp;nid=183&#34;&gt;轻量级微服务架构及最佳部署&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2ah8ig&amp;amp;aid=10694&amp;amp;nid=182&#34;&gt;连接管理安全化微服务的利器 Istio&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm8aqw3&amp;amp;aid=10673&amp;amp;nid=182&#34;&gt;[译] 微服务从设计到部署（一）：微服务简介 &lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fuxkvw4&amp;amp;aid=10639&amp;amp;nid=182&#34;&gt;[译] 设计一个容错的微服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fiu24f0&amp;amp;aid=10565&amp;amp;nid=181&#34;&gt;如何构建微服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fy7w5yu&amp;amp;aid=10553&amp;amp;nid=180&#34;&gt;swoft：基于 Swoole 协程 2.x 的高性能 PHP 微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdk2by4&amp;amp;aid=10486&amp;amp;nid=180&#34;&gt;微服务架构上云最佳实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9cmumb&amp;amp;aid=10467&amp;amp;nid=179&#34;&gt;[译] 如何实现前端微服务化？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpkmy3j&amp;amp;aid=10457&amp;amp;nid=179&#34;&gt;[译] 使用 Spring Cloud 和 Docker 构建微服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8ds6fl&amp;amp;aid=10390&amp;amp;nid=178&#34;&gt;微服务注册发现集群搭建：Registrator + Consul + Consul-template + nginx&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4p2ebe&amp;amp;aid=10375&amp;amp;nid=178&#34;&gt;几种常见的微服务架构方案简述：ZeroC IceGrid、Spring Cloud、基于消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb9yrio&amp;amp;aid=10206&amp;amp;nid=176&#34;&gt;[译] REST？RPC？是时候改变你对微服务的认知了&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyhnr3d&amp;amp;aid=10148&amp;amp;nid=175&#34;&gt;京麦微服务技术架构演变之下的 618 备战实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr6w3t5&amp;amp;aid=10117&amp;amp;nid=174&#34;&gt;NHMicro：脚本化微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8f7m6l&amp;amp;aid=10091&amp;amp;nid=174&#34;&gt;详解微服务实践从架构到部署&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2nfcfl&amp;amp;aid=10058&amp;amp;nid=173&#34;&gt;Istio：Google、IBM 和 Lyft 联合开源的微服务 Service Mesh 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwlbiz6&amp;amp;aid=10001&amp;amp;nid=173&#34;&gt;微服务初级设计指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl7pnoz&amp;amp;aid=9929&amp;amp;nid=172&#34;&gt;多研究些架构，少谈些框架（二）：微服务和充血模型&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdlkoz9&amp;amp;aid=9897&amp;amp;nid=171&#34;&gt;揭秘网易大数据实践与基于微服务的应用架构设计实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3sly7l&amp;amp;aid=9762&amp;amp;nid=169&#34;&gt;解析微软微服务架构 eShopOnContainers（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4hoeqi&amp;amp;aid=9681&amp;amp;nid=168&#34;&gt;自己动手扩展分布式调用链&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fver9l5&amp;amp;aid=9669&amp;amp;nid=168&#34;&gt;[译] 为了更好地支持微服务，我们从 PHP 迁移到了 Go&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2hkd12&amp;amp;aid=9594&amp;amp;nid=167&#34;&gt;华尔街见闻基于 Golang 的微服务实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo010bl&amp;amp;aid=9477&amp;amp;nid=165&#34;&gt;基于 Spring Cloud 的微服务架构 v1.0&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqhtx0d&amp;amp;aid=9480&amp;amp;nid=165&#34;&gt;《微服务设计》之演化式架构师&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3twx8z&amp;amp;aid=9411&amp;amp;nid=164&#34;&gt;StatsD 使用小结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvf4npv&amp;amp;aid=9335&amp;amp;nid=163&#34;&gt;《微服务设计》读书笔记之微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F15dua9&amp;amp;aid=9277&amp;amp;nid=162&#34;&gt;为基于 Spring Boot 的微服务架构搭建一套自动化、集中管理的 API 文档中心&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd56pib&amp;amp;aid=9275&amp;amp;nid=162&#34;&gt;腾讯自用的微服务架构 Tars 正式开源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F90t7zh&amp;amp;aid=9005&amp;amp;nid=159&#34;&gt;微服务架构下的分布式数据管理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj99pg0&amp;amp;aid=8947&amp;amp;nid=158&#34;&gt;使用微服务架构重构支付网关&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqazq46&amp;amp;aid=8910&amp;amp;nid=157&#34;&gt;Faas，又一个未来？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpzx5mb&amp;amp;aid=8789&amp;amp;nid=156&#34;&gt;[译] Uber 微服务经验谈&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fizkqoe&amp;amp;aid=8678&amp;amp;nid=154&#34;&gt;微服务部署：蓝绿部署、滚动部署、灰度发布等部署方案对比与总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj224c4&amp;amp;aid=8692&amp;amp;nid=154&#34;&gt;Spring Cloud 构建微服务架构（一）：服务注册与发现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm124s5&amp;amp;aid=8292&amp;amp;nid=148&#34;&gt;微服务架构的基础框架选择：Spring Cloud 还是 Dubbo？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9s7cua&amp;amp;aid=8014&amp;amp;nid=144&#34;&gt;微服务的反模式和陷阱&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fc9i3ia&amp;amp;aid=7979&amp;amp;nid=143&#34;&gt;阿里巴巴前架构师 360 度无死角剖析微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr2tazu&amp;amp;aid=7947&amp;amp;nid=142&#34;&gt;spring-cloud-netflix-example：基于 Spring Cloud 的微服务实例&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffya6n5&amp;amp;aid=7775&amp;amp;nid=140&#34;&gt;产品级微服务的八大原则&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5hs6kt&amp;amp;aid=7728&amp;amp;nid=139&#34;&gt;微服务场景下的自动化测试&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdcn6tj&amp;amp;aid=7118&amp;amp;nid=130&#34;&gt;[译] REST 和微服务：用异步交互分解单体系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhpzb3p&amp;amp;aid=7056&amp;amp;nid=129&#34;&gt;[译] 微服务到头了？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0jbmp8&amp;amp;aid=6992&amp;amp;nid=128&#34;&gt;[译] 用 Spring Cloud 治理微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fblkw89&amp;amp;aid=7001&amp;amp;nid=128&#34;&gt;Dora RPC：PHP 的分布式 RPC，支持微服务、服务发现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4v4dms&amp;amp;aid=6880&amp;amp;nid=127&#34;&gt;[译] NGINX 微服务参考架构简介&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fw0loo0&amp;amp;aid=6924&amp;amp;nid=127&#34;&gt;微服务的团队应对之道&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5aqvuh&amp;amp;aid=6654&amp;amp;nid=123&#34;&gt;微服务独家笔记&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgkij7u&amp;amp;aid=6464&amp;amp;nid=121&#34;&gt;[译] 微服务即演进式架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8u3bb8&amp;amp;aid=6358&amp;amp;nid=119&#34;&gt;[译] 介绍 Nginx 微服务参考架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fowysr9&amp;amp;aid=6261&amp;amp;nid=118&#34;&gt;[译] 从微服务同步 REST 的天然缺陷说起&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3nzj6y&amp;amp;aid=5603&amp;amp;nid=110&#34;&gt;[译] Cookpad 基于 Docker 的微服务经验总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1d5zn4&amp;amp;aid=5405&amp;amp;nid=107&#34;&gt;Golang 微服务工具包&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhroumz&amp;amp;aid=4904&amp;amp;nid=102&#34;&gt;实施微服务，我们需要哪些基础框架？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgrxphx&amp;amp;aid=4569&amp;amp;nid=98&#34;&gt;[译] Rails 微服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1kndxf&amp;amp;aid=4106&amp;amp;nid=93&#34;&gt;[译] 无服务器的微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgmaes&amp;amp;aid=3588&amp;amp;nid=87&#34;&gt;极速切入 Spring Boot 微服务框架 (float.lu)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6v74s&amp;amp;aid=3136&amp;amp;nid=82&#34;&gt;谈谈微服务 (王福强)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqfusw&amp;amp;aid=2889&amp;amp;nid=79&#34;&gt;[译] Martin Folwer 谈微服务的优缺点 (黄帅)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0bsp4&amp;amp;aid=2796&amp;amp;nid=78&#34;&gt;[译] 构建微服务：使用 API Gateway (陈杰)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F80pg6&amp;amp;aid=2430&amp;amp;nid=73&#34;&gt;[译] 微服务实战（一）：微服务架构的优势与不足 (杨峰)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;推荐系统&#34;&gt;推荐系统&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7omj94e&amp;amp;aid=19456&amp;amp;nid=309&#34;&gt;基于 DNN 的推荐算法介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr93dn0v&amp;amp;aid=19396&amp;amp;nid=308&#34;&gt;B站的视频，都是怎么推荐的&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9v5muff&amp;amp;aid=19354&amp;amp;nid=307&#34;&gt;推荐系统中不得不说的 DSSM 双塔模型 &lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F806f4ts&amp;amp;aid=18992&amp;amp;nid=300&#34;&gt;推荐系统的人工调控&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjl9cfe6&amp;amp;aid=18880&amp;amp;nid=298&#34;&gt;推荐系统提供 web 服务的 2 种方式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F30g1g4n&amp;amp;aid=18622&amp;amp;nid=294&#34;&gt;[译] 如何使用深度学习模型构建推荐系统？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhtlu867&amp;amp;aid=18625&amp;amp;nid=294&#34;&gt;推荐算法团队介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fks51nh0&amp;amp;aid=18582&amp;amp;nid=293&#34;&gt;推荐系统的 UI 交互与视觉展示&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm5ne38u&amp;amp;aid=18435&amp;amp;nid=291&#34;&gt;wide &amp;amp; deep 在贝壳推荐场景的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fptui4y4&amp;amp;aid=18391&amp;amp;nid=290&#34;&gt;混合推荐系统介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3m6f9zp&amp;amp;aid=18295&amp;amp;nid=289&#34;&gt;微信开发工程师带你一文了解推荐领域最新工作&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1gdic37&amp;amp;aid=18135&amp;amp;nid=286&#34;&gt;推荐技术系列（四）：利用社交关系的隐式矩阵分解原理和实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0hi57u3&amp;amp;aid=17964&amp;amp;nid=284&#34;&gt;YouTube 基于多任务学习的视频排序推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5410zpi&amp;amp;aid=17834&amp;amp;nid=282&#34;&gt;Facebook 面向个性化推荐系统的深度学习推荐模型&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6b159gq&amp;amp;aid=17833&amp;amp;nid=282&#34;&gt;深度学习在推荐系统中的应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsru663w&amp;amp;aid=17753&amp;amp;nid=281&#34;&gt;如何优化大规模推荐？下一代算法技术 JTM 来了&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fz7sgluz&amp;amp;aid=17579&amp;amp;nid=278&#34;&gt;基于 Flink 实现的商品实时推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fssrfh9j&amp;amp;aid=17556&amp;amp;nid=278&#34;&gt;序列推荐模型 TransFM&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F62lhcin&amp;amp;aid=17403&amp;amp;nid=276&#34;&gt;矩阵分解推荐算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F78vyfh6&amp;amp;aid=17244&amp;amp;nid=274&#34;&gt;论文：基于三部图网络结构的知识推荐算法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxv0mpu&amp;amp;aid=17031&amp;amp;nid=271&#34;&gt;《推荐系统开发实战》之冷启动问题&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwhj4eb&amp;amp;aid=16980&amp;amp;nid=270&#34;&gt;《推荐系统开发实战》之推荐系统的灵魂伴侣：数据挖掘&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1whved&amp;amp;aid=16953&amp;amp;nid=270&#34;&gt;基于 Erlang 语言的视频相似推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzf3wie&amp;amp;aid=16543&amp;amp;nid=265&#34;&gt;推荐系统之矩阵分解模型（原理篇）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F621wdc&amp;amp;aid=16469&amp;amp;nid=264&#34;&gt;数据与广告系列（七）：广告与推荐系统技术架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Foj35u4&amp;amp;aid=16450&amp;amp;nid=264&#34;&gt;构建可解释的推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb78d1l&amp;amp;aid=16277&amp;amp;nid=262&#34;&gt;从零开始入门推荐算法工程师&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Feo59x2&amp;amp;aid=15891&amp;amp;nid=257&#34;&gt;推荐系统冷启动&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu5o1mp&amp;amp;aid=15670&amp;amp;nid=254&#34;&gt;深度召回模型在 QQ 看点推荐中的应用实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyc6ldf&amp;amp;aid=15599&amp;amp;nid=253&#34;&gt;机器学习在微博信息流推荐中的应用实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fw1rb09&amp;amp;aid=15256&amp;amp;nid=248&#34;&gt;推荐系统融合排序之 LR&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvwad6r&amp;amp;aid=15084&amp;amp;nid=246&#34;&gt;重读 YouTube 深度学习推荐系统论文&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwvtv9f&amp;amp;aid=14547&amp;amp;nid=237&#34;&gt;58 部落帖子推荐系统的抬手动作&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkwdn9d&amp;amp;aid=14382&amp;amp;nid=235&#34;&gt;大数据推荐系统实时架构和离线架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl21nbg&amp;amp;aid=14220&amp;amp;nid=232&#34;&gt;2018 年最全的推荐系统干货&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhszitv&amp;amp;aid=13611&amp;amp;nid=223&#34;&gt;[译] 2018 年推荐系统入门指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpdwme8&amp;amp;aid=13581&amp;amp;nid=223&#34;&gt;京东推荐系统架构揭秘：大数据时代下的智能化改造&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1tmfmy&amp;amp;aid=13326&amp;amp;nid=219&#34;&gt;推荐系统遇上深度学习（十五）：强化学习在京东推荐中的探索&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcm6hka&amp;amp;aid=13187&amp;amp;nid=217&#34;&gt;推荐系统遇上深度学习（十一）：神经协同过滤 NCF 原理及实战&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9t354k&amp;amp;aid=12819&amp;amp;nid=211&#34;&gt;从先进走向普遍的广告和推荐系统方法之一：在线学习&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4l1kex&amp;amp;aid=12282&amp;amp;nid=204&#34;&gt;微软亚洲研究院论文解读：GAN 在网络特征学习中的应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fthubku&amp;amp;aid=12278&amp;amp;nid=204&#34;&gt;深度学习在 58 同城智能推荐系统中的应用实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpmd2v1&amp;amp;aid=12203&amp;amp;nid=203&#34;&gt; 深度学习在推荐系统上的应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvm05h0&amp;amp;aid=12157&amp;amp;nid=202&#34;&gt;今日头条推荐算法原理全文详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn2powm&amp;amp;aid=12115&amp;amp;nid=202&#34;&gt;从原理到策略算法再到架构产品看推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6jz32a&amp;amp;aid=11998&amp;amp;nid=200&#34;&gt;[译] 一分钟整明白 Netflix 的 Contextual Bandits 的推荐探索策略&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp5z08l&amp;amp;aid=11855&amp;amp;nid=198&#34;&gt;融合了用户兴趣的推荐系统才更具个性&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv62411&amp;amp;aid=11761&amp;amp;nid=197&#34;&gt;就算是非技术人员也都有必要了解的一些推荐系统常识&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbgzhaw&amp;amp;aid=11724&amp;amp;nid=197&#34;&gt;推荐系统之用户行为分析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3wkrrg&amp;amp;aid=10953&amp;amp;nid=186&#34;&gt;推荐系统那些事儿&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqfijcf&amp;amp;aid=10816&amp;amp;nid=184&#34;&gt;3 亿会员、4 亿商品，深度学习在大型电商商品推荐的应用实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fthx7o8&amp;amp;aid=10348&amp;amp;nid=178&#34;&gt;深度学习在美团点评推荐平台排序中的运用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnvao7r&amp;amp;aid=10146&amp;amp;nid=175&#34;&gt;今日头条成功的核心技术秘诀是什么？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh1peov&amp;amp;aid=10147&amp;amp;nid=175&#34;&gt;[译] 亚马逊推荐二十年&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F35tpcy&amp;amp;aid=10176&amp;amp;nid=175&#34;&gt;蘑菇街推荐工程实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdn9rsm&amp;amp;aid=9865&amp;amp;nid=171&#34;&gt;写给设计师的人工智能指南：推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F44yl8e&amp;amp;aid=9862&amp;amp;nid=171&#34;&gt;Pinterest 推荐系统四年进化之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh1ey0b&amp;amp;aid=9850&amp;amp;nid=170&#34;&gt;深度学习在推荐领域的应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvlgip3&amp;amp;aid=9732&amp;amp;nid=169&#34;&gt;Deep Learning for Recommendation Systems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7uziol&amp;amp;aid=9559&amp;amp;nid=166&#34;&gt;Bandit 算法与推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9x52nx&amp;amp;aid=9463&amp;amp;nid=165&#34;&gt;深度学习在推荐算法上的应用进展&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx4c15d&amp;amp;aid=9445&amp;amp;nid=165&#34;&gt;魅族推荐平台的架构演进之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqpp7e2&amp;amp;aid=8803&amp;amp;nid=156&#34;&gt;淘宝搜索/推荐系统背后深度强化学习与自适应在线学习的实践之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmunr12&amp;amp;aid=8369&amp;amp;nid=149&#34;&gt;[译] 工作职位推荐系统的算法与架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fd9s3vx&amp;amp;aid=8240&amp;amp;nid=147&#34;&gt;基于用户画像的实时异步化视频推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzjt9kg&amp;amp;aid=8079&amp;amp;nid=145&#34;&gt;兴趣 Feed 技术架构与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fupftbt&amp;amp;aid=8036&amp;amp;nid=144&#34;&gt;推荐系统老司机的十条经验&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8pyzkt&amp;amp;aid=7139&amp;amp;nid=130&#34;&gt;推荐系统的苟且和远方&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3cvjl9&amp;amp;aid=4928&amp;amp;nid=102&#34;&gt;[译] 如何从零构建实时的个性化推荐系统？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fynunyg&amp;amp;aid=4857&amp;amp;nid=101&#34;&gt;大数据 / 数据挖掘 / 推荐系统 / 机器学习相关资源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh6dlgb&amp;amp;aid=4602&amp;amp;nid=98&#34;&gt;为豆瓣电影实现 User-based 协同过滤的推荐系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0za23w&amp;amp;aid=4393&amp;amp;nid=96&#34;&gt;推荐系统基础知识&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjq47s&amp;amp;aid=3239&amp;amp;nid=84&#34;&gt;美团推荐系统整体框架与关键工作 (沈国阳)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcfc1t&amp;amp;aid=2132&amp;amp;nid=67&#34;&gt;使用 Python 实现一个简单的推荐系统 (Kai Zhou)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;框架&#34;&gt;框架&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnecfb59&amp;amp;aid=18948&amp;amp;nid=299&#34;&gt;分布式定时任务调度框架实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fw9edu5t&amp;amp;aid=17875&amp;amp;nid=282&#34;&gt;腾讯微服务框架 Tars 的 Go 性能提升之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0b5llt3&amp;amp;aid=17731&amp;amp;nid=280&#34;&gt;花椒移动端基础框架架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdret83&amp;amp;aid=16439&amp;amp;nid=264&#34;&gt;设计一个分布式 RPC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fetr6qg&amp;amp;aid=16096&amp;amp;nid=260&#34;&gt;[译] Linkerd or Istio？哪个 Service Mesh 框架更适合你？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwmwus4&amp;amp;aid=15910&amp;amp;nid=257&#34;&gt;Golang 轻量级高并发 socket 框架 chitchat&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgu0vn2&amp;amp;aid=15786&amp;amp;nid=255&#34;&gt;Aloha：一个分布式调度框架的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsgkxah&amp;amp;aid=15556&amp;amp;nid=252&#34;&gt; 架构认知（二）：企业架构的框架和作用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzm5v0z&amp;amp;aid=15137&amp;amp;nid=246&#34;&gt;简单高性能的 JavaScript 组件框架 Ale.js&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F17gc7q&amp;amp;aid=14690&amp;amp;nid=239&#34;&gt;[译] 评估 Kubernetes 中的 Serverless 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdjks43&amp;amp;aid=13835&amp;amp;nid=226&#34;&gt;[译] Uber 开源 Fusion.js：一个基于插件架构的通用 Web 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fe35r0j&amp;amp;aid=13769&amp;amp;nid=225&#34;&gt;服务框架的技术栈&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F44ltuw&amp;amp;aid=13276&amp;amp;nid=218&#34;&gt;Scala 实现 DSL 的框架案例&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo3pp4d&amp;amp;aid=13206&amp;amp;nid=217&#34;&gt;Web 框架的架构模式探讨（JavaScript 语言）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx9ffwo&amp;amp;aid=12828&amp;amp;nid=211&#34;&gt;腾讯出品的微服务框架的名字服务解决方案 TSeer 正式开源&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flwkoz4&amp;amp;aid=12754&amp;amp;nid=210&#34;&gt;分布式单点登录框架 XXL-SSO&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fgs1tff&amp;amp;aid=12748&amp;amp;nid=210&#34;&gt;蚂蚁通信框架实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F206sbe&amp;amp;aid=12739&amp;amp;nid=210&#34;&gt;从 Spring Cloud 看一个微服务框架的 “五脏六腑”&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpm3wgu&amp;amp;aid=12535&amp;amp;nid=207&#34;&gt;swoolefy：基于 Swoole 扩展实现的高性能 MVC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9t19hj&amp;amp;aid=12446&amp;amp;nid=206&#34;&gt;手把手教你搭建一套可自动化构建的微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnqxt5d&amp;amp;aid=12177&amp;amp;nid=202&#34;&gt;跟繁琐的命令行说拜拜，Gerapy 分布式爬虫管理框架来袭&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxd00zo&amp;amp;aid=12081&amp;amp;nid=201&#34;&gt;设计和实现一款轻量级的爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl8iqmy&amp;amp;aid=11784&amp;amp;nid=197&#34;&gt;Blade：高性能、简洁优雅的 Java Web 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1dr63d&amp;amp;aid=11715&amp;amp;nid=196&#34;&gt;Log4a：基于 mmap 的高性能、高可用的 Android 日志收集框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv04t13&amp;amp;aid=11576&amp;amp;nid=195&#34;&gt;Android 高级进阶（源码剖析篇）：Twitter 的高性能序列化框架 Serial（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8s8pwz&amp;amp;aid=11344&amp;amp;nid=191&#34;&gt;腾讯与阅文技术合作，微服务框架 Tars 再添 PHP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8408lv&amp;amp;aid=11348&amp;amp;nid=191&#34;&gt;XXL-CRAWLER：灵活高效、面向对象的分布式爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx5mx32&amp;amp;aid=11269&amp;amp;nid=190&#34;&gt;TSF：腾讯出品的基于协程和 Swoole 驱动的高性能 PHP 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fltj9um&amp;amp;aid=11140&amp;amp;nid=188&#34;&gt;Colly：Go 实现的快速、优雅的高性能网页采集框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpixeg9&amp;amp;aid=11099&amp;amp;nid=187&#34;&gt;Biny：腾讯出品的高性能的超轻量级 PHP 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbbht62&amp;amp;aid=10855&amp;amp;nid=184&#34;&gt;php-msf：基于 Swoole 的工程级企业微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffc0f0p&amp;amp;aid=10731&amp;amp;nid=183&#34;&gt;基于 Java、Kafka、ElasticSearch 的搜索框架的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fy7w5yu&amp;amp;aid=10553&amp;amp;nid=180&#34;&gt;swoft：基于 Swoole 协程 2.x 的高性能 PHP 微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr7yjio&amp;amp;aid=10214&amp;amp;nid=176&#34;&gt;iOS 从 0 到 1 搭建高可用 App 框架（二）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr6w3t5&amp;amp;aid=10117&amp;amp;nid=174&#34;&gt;NHMicro：脚本化微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2nfcfl&amp;amp;aid=10058&amp;amp;nid=173&#34;&gt;Istio：Google、IBM 和 Lyft 联合开源的微服务 Service Mesh 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2d8ovt&amp;amp;aid=9974&amp;amp;nid=172&#34;&gt;Google 应用框架实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl7pnoz&amp;amp;aid=9929&amp;amp;nid=172&#34;&gt;多研究些架构，少谈些框架（二）：微服务和充血模型&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo010bl&amp;amp;aid=9477&amp;amp;nid=165&#34;&gt;基于 Spring Cloud 的微服务架构 v1.0&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg7ion2&amp;amp;aid=9189&amp;amp;nid=161&#34;&gt;[译] 用分层结构打造苗条 MVC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Faclw19&amp;amp;aid=9215&amp;amp;nid=161&#34;&gt;Voyage：Java 实现的基于 Netty 的轻量、高性能分布式 RPC 服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0v0kpa&amp;amp;aid=9079&amp;amp;nid=160&#34;&gt;小程序底层框架实现原理解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5wma7d&amp;amp;aid=8911&amp;amp;nid=157&#34;&gt;Golang 高性能分布式游戏服务器框架 mqant&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn0gdvg&amp;amp;aid=8790&amp;amp;nid=156&#34;&gt;[译] Google 是如何开发 Web 框架的&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg5ghje&amp;amp;aid=8708&amp;amp;nid=154&#34;&gt;FastD：PHP 高性能 API 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm124s5&amp;amp;aid=8292&amp;amp;nid=148&#34;&gt;微服务架构的基础框架选择：Spring Cloud 还是 Dubbo？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2nh7g6&amp;amp;aid=7761&amp;amp;nid=139&#34;&gt;JLiteSpider：轻量级的分布式 Java 爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft70i21&amp;amp;aid=6809&amp;amp;nid=125&#34;&gt;SeimiCrawler：敏捷、独立部署、支持分布式的 Java 爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsf6ol6&amp;amp;aid=6661&amp;amp;nid=123&#34;&gt;基于 Dubbo 框架构建分布式服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzyeuuk&amp;amp;aid=6443&amp;amp;nid=120&#34;&gt;RPCX：类似 Dubbo 的分布式 RPC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6fdzp6&amp;amp;aid=6383&amp;amp;nid=120&#34;&gt;魅族 C++ 协程框架 Kiev 技术内幕&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F95qo0b&amp;amp;aid=6060&amp;amp;nid=116&#34;&gt;高性能分布式 Mock 平台的框架与设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fatdywd&amp;amp;aid=5746&amp;amp;nid=112&#34;&gt;深入分析 iBATIS 框架之系统架构与映射原理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhroumz&amp;amp;aid=4904&amp;amp;nid=102&#34;&gt;实施微服务，我们需要哪些基础框架？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo1pgk&amp;amp;aid=1996&amp;amp;nid=63&#34;&gt;kiteq - 一个多种持久化方案的 MQ 框架 (@Beta版厨子)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;消息队列&#34;&gt;消息队列&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzgc8ztu&amp;amp;aid=19595&amp;amp;nid=312&#34;&gt;浅入浅出消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7i6ylx9&amp;amp;aid=18543&amp;amp;nid=292&#34;&gt;深度剖析如何实现事务消息&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwww9xod&amp;amp;aid=18191&amp;amp;nid=287&#34;&gt;基于 Redis 实现的延迟消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frys99bx&amp;amp;aid=18161&amp;amp;nid=287&#34;&gt;万亿级消息背后: 小米消息队列的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fov5cay&amp;amp;aid=15449&amp;amp;nid=251&#34;&gt;金融行业消息队列选型及实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3qehx7&amp;amp;aid=14951&amp;amp;nid=243&#34;&gt;QMQ：去哪儿网内部广泛使用的消息中间件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyosx21&amp;amp;aid=14551&amp;amp;nid=237&#34;&gt;分布式之消息队列复习精讲&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F505qkj&amp;amp;aid=13851&amp;amp;nid=227&#34;&gt;天池中间件大赛：单机百万消息队列存储分享&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fq348q1&amp;amp;aid=13764&amp;amp;nid=225&#34;&gt;消息队列实现概要：深度解读分区 Topic 的实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fafyqe5&amp;amp;aid=13148&amp;amp;nid=216&#34;&gt;消息队列事务型消息原理浅析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdqfevp&amp;amp;aid=11851&amp;amp;nid=198&#34;&gt;RAID 6 应用于消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fenlfg4&amp;amp;aid=11707&amp;amp;nid=196&#34;&gt;分布式消息队列实现概要&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4p2ebe&amp;amp;aid=10375&amp;amp;nid=178&#34;&gt;几种常见的微服务架构方案简述：ZeroC IceGrid、Spring Cloud、基于消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fctccgi&amp;amp;aid=10177&amp;amp;nid=175&#34;&gt;LocalMQ：从零构建类 RocketMQ 高性能消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvvw3eq&amp;amp;aid=9763&amp;amp;nid=169&#34;&gt;消息队列的对比调研&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsiyjen&amp;amp;aid=9151&amp;amp;nid=161&#34;&gt;Message Queue 的设计和实现（七）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn7qpkw&amp;amp;aid=8945&amp;amp;nid=158&#34;&gt;腾讯云分布式高可靠消息队列 CMQ 架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2jr0pt&amp;amp;aid=8862&amp;amp;nid=157&#34;&gt;Message Queue 的设计和实现（三）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpts7bc&amp;amp;aid=8569&amp;amp;nid=152&#34;&gt;Gores：Go 语言编写的基于 Redis 的消息队列系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4tr157&amp;amp;aid=7892&amp;amp;nid=141&#34;&gt;php-queue：PHP 开发的磁盘存储消息队列服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fq5p960&amp;amp;aid=7023&amp;amp;nid=129&#34;&gt;PHP 高级编程之消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7bcgog&amp;amp;aid=6747&amp;amp;nid=125&#34;&gt;消息队列设计精要&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3cszs&amp;amp;aid=2230&amp;amp;nid=69&#34;&gt;Disque - 一个分布式消息队列 (antirez)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6742y&amp;amp;aid=2148&amp;amp;nid=67&#34;&gt;可靠消息队列浅谈 (@招牌疯子)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo1pgk&amp;amp;aid=1996&amp;amp;nid=63&#34;&gt;kiteq - 一个多种持久化方案的 MQ 框架 (@Beta版厨子)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;编程语言&#34;&gt;编程语言&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Finltn1q&amp;amp;aid=18914&amp;amp;nid=298&#34;&gt;Go 1.14 实现高性能内存分配器&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frbfhyll&amp;amp;aid=18651&amp;amp;nid=294&#34;&gt;Spring Boot 与微服务从 0 到 1 的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2tc96jt&amp;amp;aid=18636&amp;amp;nid=294&#34;&gt;微服务统一认证与授权的 Go 语言实现（上）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnnmw2x1&amp;amp;aid=18512&amp;amp;nid=292&#34;&gt;iOS 基于静态库插桩的⼆进制重排启动优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7t2itei&amp;amp;aid=18153&amp;amp;nid=286&#34;&gt;Gbox：基于 Litho 的 Android 高性能动态业务容器，解决首页动态化的痛点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkc0iaka&amp;amp;aid=17814&amp;amp;nid=281&#34;&gt;Go 微服务全链路跟踪详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo0y10it&amp;amp;aid=17812&amp;amp;nid=281&#34;&gt;小米 Go 开发实践：用 Go 构建高性能数据库中间件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9mzp3bf&amp;amp;aid=17715&amp;amp;nid=280&#34;&gt;Golang 设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsh3lncg&amp;amp;aid=17296&amp;amp;nid=274&#34;&gt;互联网架构微服务已经成为主流，Go 语言如何去打造呢？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftq492f&amp;amp;aid=17102&amp;amp;nid=272&#34;&gt;微服务中使用 OpenJ9 JVM 内存占用降 60%（相对 HotSpot）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fasw5qp&amp;amp;aid=17073&amp;amp;nid=271&#34;&gt;Go 并发设计模式之 Active Object&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo09i73&amp;amp;aid=16878&amp;amp;nid=269&#34;&gt;函数式编程让你忘记设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F88qvcp&amp;amp;aid=16648&amp;amp;nid=266&#34;&gt;AAC 系列（四）：深入理解架构组件 ViewModel&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7ko3iw&amp;amp;aid=16434&amp;amp;nid=264&#34;&gt;自治对象才是好对象&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F57dduv&amp;amp;aid=16356&amp;amp;nid=263&#34;&gt;轻松构建微服务之远程调用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx5qrda&amp;amp;aid=16336&amp;amp;nid=263&#34;&gt;拍拍贷消息系统原理与应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7q0a3u&amp;amp;aid=16189&amp;amp;nid=261&#34;&gt;微服务化后缓存怎么做&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fep1en9&amp;amp;aid=16148&amp;amp;nid=260&#34;&gt;Golang Failpoint 的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmacdlu&amp;amp;aid=15921&amp;amp;nid=257&#34;&gt;[译] 高性能 Go 服务的内存优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwmwus4&amp;amp;aid=15910&amp;amp;nid=257&#34;&gt;Golang 轻量级高并发 socket 框架 chitchat&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbu5td2&amp;amp;aid=15817&amp;amp;nid=256&#34;&gt;马蜂窝搜索基于 Golang 并发代理的一次架构升级&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6jrqfl&amp;amp;aid=15745&amp;amp;nid=255&#34;&gt;Android 技术架构演进与未来&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0qt8jk&amp;amp;aid=15678&amp;amp;nid=254&#34;&gt;Android 架构组件：让天下没有难做的 App&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpadg21&amp;amp;aid=15650&amp;amp;nid=253&#34;&gt;NutsDB：纯 Go 编写的高性能内嵌型 KV 数据库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbrbe04&amp;amp;aid=15306&amp;amp;nid=249&#34;&gt;指令集架构、机器码与 Go 语言&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr7nlaa&amp;amp;aid=15210&amp;amp;nid=247&#34;&gt;让 Raft 变快 100 倍：Dragonboat 的写优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwn7eo5&amp;amp;aid=15047&amp;amp;nid=245&#34;&gt;Flutter 混合开发组件化与工程化架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fetrnyn&amp;amp;aid=14984&amp;amp;nid=244&#34;&gt;Go 分布式实时服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpgarge&amp;amp;aid=14906&amp;amp;nid=243&#34;&gt;被滥用的 GUI 设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fheduhs&amp;amp;aid=14905&amp;amp;nid=243&#34;&gt;Android 架构之长连接技术&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj7nzmk&amp;amp;aid=14837&amp;amp;nid=242&#34;&gt;Android Architecture Component 和架构升级在铭师堂的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fs16bsw&amp;amp;aid=13843&amp;amp;nid=239&#34;&gt;杭州有赞招聘资深 Java 开发工程师/垂直业务架构师&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2qyv4h&amp;amp;aid=14640&amp;amp;nid=238&#34;&gt;gorouter：简单高性能的 Go router&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb7eq8v&amp;amp;aid=14065&amp;amp;nid=230&#34;&gt;Android 架构：ViewModel 与 View 之间的通信&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpuxwzs&amp;amp;aid=14066&amp;amp;nid=230&#34;&gt;最佳实践：重构 AppDelegate（iOS）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fegpgxv&amp;amp;aid=13936&amp;amp;nid=228&#34;&gt;从 Go 高性能日志库 zap 看如何实现高性能 Go 组件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbftpm0&amp;amp;aid=13930&amp;amp;nid=228&#34;&gt;Android 架构组件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbcqfzr&amp;amp;aid=13918&amp;amp;nid=228&#34;&gt;[译] 微服务的 10 个挑战和解决方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxcvqdy&amp;amp;aid=13803&amp;amp;nid=226&#34;&gt;天池中间件大赛 Golang 版 Service Mesh 思路分享&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffn4v62&amp;amp;aid=13774&amp;amp;nid=225&#34;&gt;MyPerf4J：针对高并发、低延迟应用设计的高性能且无侵入的实时 Java 方法性能监控和统计工具&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0hkfi4&amp;amp;aid=13706&amp;amp;nid=224&#34;&gt;Spring Cloud 微服务版本灰度发布新神器&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv3s2la&amp;amp;aid=13674&amp;amp;nid=224&#34;&gt;Python 后端架构演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsdb5jf&amp;amp;aid=13668&amp;amp;nid=224&#34;&gt;使用 Android 架构组件实现 MVVM 模式的应用&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9808ju&amp;amp;aid=13591&amp;amp;nid=223&#34;&gt;Go 代码重构：23 倍的性能爆增&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F09oh4x&amp;amp;aid=13551&amp;amp;nid=222&#34;&gt;继承和面向接口（iOS 架构思想篇）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpa4438&amp;amp;aid=13449&amp;amp;nid=221&#34;&gt;苏宁数据中台基于 Spring Cloud 微服务架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fng7jym&amp;amp;aid=13356&amp;amp;nid=219&#34;&gt;Go 微服务实战汇总&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F28xhz5&amp;amp;aid=13190&amp;amp;nid=217&#34;&gt;基于可靠消息方案的分布式事务（二）：Java 中的事务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbkh1sp&amp;amp;aid=13122&amp;amp;nid=216&#34;&gt;如何基于 Golang 设计一套微服务架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1ragmw&amp;amp;aid=13098&amp;amp;nid=215&#34;&gt;从跨语言调用到 dubbo2.js&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbeyk5y&amp;amp;aid=13075&amp;amp;nid=215&#34;&gt;什么时候能用上设计模式？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzavy6s&amp;amp;aid=12999&amp;amp;nid=214&#34;&gt;秒杀架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1kjbj5&amp;amp;aid=12924&amp;amp;nid=213&#34;&gt;罗辑思维 Go 语言微服务改造实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fw0d16z&amp;amp;aid=12922&amp;amp;nid=213&#34;&gt;[译] PHP-FPM 调优：为了高性能使用 pm static&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxq9rcw&amp;amp;aid=12846&amp;amp;nid=212&#34;&gt;Android 工程模块化平台的设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fi992v2&amp;amp;aid=12792&amp;amp;nid=211&#34;&gt;苏宁易购 Android 架构演进史&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F155gol&amp;amp;aid=12800&amp;amp;nid=211&#34;&gt;Golang 高性能实战&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdvul4d&amp;amp;aid=12795&amp;amp;nid=211&#34;&gt;浅析 iOS 中的设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzpvlor&amp;amp;aid=12710&amp;amp;nid=210&#34;&gt;基于 Spring Cloud 的 Microservices 架构实战案例：架构拆解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx0w7ai&amp;amp;aid=12709&amp;amp;nid=210&#34;&gt;基于 Spring Cloud 的微服务落地&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjz9zjj&amp;amp;aid=12744&amp;amp;nid=210&#34;&gt;跨平台长连接组件设计及可插拔改造&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F206sbe&amp;amp;aid=12739&amp;amp;nid=210&#34;&gt;从 Spring Cloud 看一个微服务框架的 “五脏六腑”&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fuimy8i&amp;amp;aid=12675&amp;amp;nid=209&#34;&gt;MMKV：基于 mmap 的 iOS 高性能通用 key-value 组件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqikhdp&amp;amp;aid=12559&amp;amp;nid=208&#34;&gt;阿里架构师分享的 Java 程序员需要突破的技术要点&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpm3wgu&amp;amp;aid=12535&amp;amp;nid=207&#34;&gt;swoolefy：基于 Swoole 扩展实现的高性能 MVC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F38d3c9&amp;amp;aid=12405&amp;amp;nid=206&#34;&gt;全面解析京东微服务平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmfs5yn&amp;amp;aid=12312&amp;amp;nid=204&#34;&gt;基于 Sanic 的微服务基础架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxvtqse&amp;amp;aid=12287&amp;amp;nid=204&#34;&gt;Android Architecture Component 解析之 ViewModel&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fi3wyqv&amp;amp;aid=12214&amp;amp;nid=203&#34;&gt;Android Architecture Components 和可测试代码&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr0qfju&amp;amp;aid=12180&amp;amp;nid=202&#34;&gt;guard：高性能熔断器 + 代理服务器（Golang）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3vleiv&amp;amp;aid=12037&amp;amp;nid=201&#34;&gt;Dubbo 作者聊设计原则（2011）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjllh7k&amp;amp;aid=12054&amp;amp;nid=201&#34;&gt;Android 应用架构前世今生&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh7i1x8&amp;amp;aid=11888&amp;amp;nid=199&#34;&gt;TDD 开发容器化的 Python 微服务应用（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcqhkb2&amp;amp;aid=11892&amp;amp;nid=199&#34;&gt;[译] 2018 PHP 应用程序安全设计指北&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkenqnn&amp;amp;aid=11814&amp;amp;nid=198&#34;&gt;探索 Android 架构组件 Room&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3jmpx4&amp;amp;aid=11786&amp;amp;nid=197&#34;&gt;MultiHttp：高性能 PHP 封装的 HTTP Restful 多线程并发请求库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl8iqmy&amp;amp;aid=11784&amp;amp;nid=197&#34;&gt;Blade：高性能、简洁优雅的 Java Web 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft6jibs&amp;amp;aid=11767&amp;amp;nid=197&#34;&gt;搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnf3zsh&amp;amp;aid=11744&amp;amp;nid=197&#34;&gt;读懂唱吧 KTVHTTPCache 设计思想（iOS）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1dr63d&amp;amp;aid=11715&amp;amp;nid=196&#34;&gt;Log4a：基于 mmap 的高性能、高可用的 Android 日志收集框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv04t13&amp;amp;aid=11576&amp;amp;nid=195&#34;&gt;Android 高级进阶（源码剖析篇）：Twitter 的高性能序列化框架 Serial（一）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnickqt&amp;amp;aid=11530&amp;amp;nid=194&#34;&gt;一文读懂连接池技术原理、设计与实现（Python）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmy98uz&amp;amp;aid=11518&amp;amp;nid=194&#34;&gt;gkvdb 的介绍及设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9we6bi&amp;amp;aid=11532&amp;amp;nid=194&#34;&gt;Go 使用 grpc + http 打造高性能微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8s8pwz&amp;amp;aid=11344&amp;amp;nid=191&#34;&gt;腾讯与阅文技术合作，微服务框架 Tars 再添 PHP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8h65sd&amp;amp;aid=11335&amp;amp;nid=191&#34;&gt;使用 Redis 实现分布式锁及其优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnxrzow&amp;amp;aid=11323&amp;amp;nid=191&#34;&gt;gRPC &amp;amp; Protocol Buffer 构建高性能接口实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fx5mx32&amp;amp;aid=11269&amp;amp;nid=190&#34;&gt;TSF：腾讯出品的基于协程和 Swoole 驱动的高性能 PHP 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fajuu54&amp;amp;aid=11192&amp;amp;nid=189&#34;&gt;带你领略 Clean 架构的魅力&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyxd30b&amp;amp;aid=11170&amp;amp;nid=189&#34;&gt;阿里云基于 Go 的微服务架构分享&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fltj9um&amp;amp;aid=11140&amp;amp;nid=188&#34;&gt;Colly：Go 实现的快速、优雅的高性能网页采集框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fri3tnj&amp;amp;aid=11097&amp;amp;nid=187&#34;&gt;MultiHttp：高性能的 PHP 封装的 HTTP Restful 多线程并发请求库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpixeg9&amp;amp;aid=11099&amp;amp;nid=187&#34;&gt;Biny：腾讯出品的高性能的超轻量级 PHP 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fu6hhfn&amp;amp;aid=10977&amp;amp;nid=186&#34;&gt;用 500 行 Golang 代码实现高性能的消息回调中间件&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg6a3fw&amp;amp;aid=11000&amp;amp;nid=186&#34;&gt;dubbo 源码解析：集群容错架构设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbbht62&amp;amp;aid=10855&amp;amp;nid=184&#34;&gt;php-msf：基于 Swoole 的工程级企业微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6kb78y&amp;amp;aid=10737&amp;amp;nid=183&#34;&gt;深入理解 iOS 设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffc0f0p&amp;amp;aid=10731&amp;amp;nid=183&#34;&gt;基于 Java、Kafka、ElasticSearch 的搜索框架的设计与实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmp85ri&amp;amp;aid=10653&amp;amp;nid=182&#34;&gt;Android 应用架构组件实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsntl6i&amp;amp;aid=10587&amp;amp;nid=181&#34;&gt;如何用 Go 打造亿级实时分布式出行平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fuk2he1&amp;amp;aid=10582&amp;amp;nid=181&#34;&gt;[译] 基于 Android Architecture Components 的应用架构指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3ijcsx&amp;amp;aid=10558&amp;amp;nid=180&#34;&gt;molten：PHP 应用透明链路追踪工具&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fy7w5yu&amp;amp;aid=10553&amp;amp;nid=180&#34;&gt;swoft：基于 Swoole 协程 2.x 的高性能 PHP 微服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fy2np6x&amp;amp;aid=10539&amp;amp;nid=180&#34;&gt;浅谈 MVC、MVP 和 MVVM 架构模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhhl4bd&amp;amp;aid=10314&amp;amp;nid=177&#34;&gt;谈谈 Tomcat 架构及启动过程&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fr7yjio&amp;amp;aid=10214&amp;amp;nid=176&#34;&gt;iOS 从 0 到 1 搭建高可用 App 框架（二）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdnygab&amp;amp;aid=10166&amp;amp;nid=175&#34;&gt;再谈 WebSocket，论架构设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo9e9gh&amp;amp;aid=10095&amp;amp;nid=174&#34;&gt;Laravel + go-micro + grpc 实践基于 Zipkin 的分布式链路追踪系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjzvfgf&amp;amp;aid=10083&amp;amp;nid=174&#34;&gt;两年 PHPer 聊下架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2x5xil&amp;amp;aid=10007&amp;amp;nid=173&#34;&gt;iOS 架构实践：The Right Way to Architect iOS App with Swift&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqji3ft&amp;amp;aid=10003&amp;amp;nid=173&#34;&gt;Base 封装（一）：我的最简 MVP 架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7k6g5g&amp;amp;aid=9945&amp;amp;nid=172&#34;&gt;iOS 动态功能部署我们是这样实现的：理论设计篇&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ff42gp4&amp;amp;aid=9879&amp;amp;nid=171&#34;&gt;iOS 架构设计：URL 缓存&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbun0rg&amp;amp;aid=9747&amp;amp;nid=169&#34;&gt;[译] Google 官方推出应用开发架构指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F462xte&amp;amp;aid=9698&amp;amp;nid=168&#34;&gt;针对 PHP 做的 Ragnar Fiery 分布式性能跟踪系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fver9l5&amp;amp;aid=9669&amp;amp;nid=168&#34;&gt;[译] 为了更好地支持微服务，我们从 PHP 迁移到了 Go&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj4639h&amp;amp;aid=9588&amp;amp;nid=167&#34;&gt;iOS 无埋点数据 SDK 的整体设计与技术实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvtovqv&amp;amp;aid=9591&amp;amp;nid=167&#34;&gt;PHP 应用性能优化指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2hkd12&amp;amp;aid=9594&amp;amp;nid=167&#34;&gt;华尔街见闻基于 Golang 的微服务实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6ch3h7&amp;amp;aid=9385&amp;amp;nid=164&#34;&gt;58 同城 iOS 客户端组件化演变历程&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqoz4i6&amp;amp;aid=9313&amp;amp;nid=163&#34;&gt;天弘基金 iOS App 架构优化之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4grbn9&amp;amp;aid=9310&amp;amp;nid=163&#34;&gt;沪江学习 Android 端应用架构重构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Faclw19&amp;amp;aid=9215&amp;amp;nid=161&#34;&gt;Voyage：Java 实现的基于 Netty 的轻量、高性能分布式 RPC 服务框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1f5d0d&amp;amp;aid=9203&amp;amp;nid=161&#34;&gt;iOS 设计模式资料整理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg7ion2&amp;amp;aid=9189&amp;amp;nid=161&#34;&gt;[译] 用分层结构打造苗条 MVC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fljxg0a&amp;amp;aid=9167&amp;amp;nid=161&#34;&gt;[译] GitHub 上 star 超过 2k 的 Android MVP 架构指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Futsyhi&amp;amp;aid=9119&amp;amp;nid=160&#34;&gt;分布式任务队列 Celery 介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0qntq9&amp;amp;aid=8930&amp;amp;nid=158&#34;&gt;安居客 Android 项目架构演进&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5wma7d&amp;amp;aid=8911&amp;amp;nid=157&#34;&gt;Golang 高性能分布式游戏服务器框架 mqant&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0w8lyo&amp;amp;aid=8776&amp;amp;nid=155&#34;&gt;Antares：分布式任务调度平台&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F215rg8&amp;amp;aid=8738&amp;amp;nid=155&#34;&gt;Android 架构思考&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg5ghje&amp;amp;aid=8708&amp;amp;nid=154&#34;&gt;FastD：PHP 高性能 API 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj224c4&amp;amp;aid=8692&amp;amp;nid=154&#34;&gt;Spring Cloud 构建微服务架构（一）：服务注册与发现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpts7bc&amp;amp;aid=8569&amp;amp;nid=152&#34;&gt;Gores：Go 语言编写的基于 Redis 的消息队列系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fz8sdtl&amp;amp;aid=8512&amp;amp;nid=152&#34;&gt;人人车 Android 客户端架构演进实录&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyua3wh&amp;amp;aid=8459&amp;amp;nid=151&#34;&gt;后台任务处理系统的架构演进和优化（Golang）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fba1gvr&amp;amp;aid=8275&amp;amp;nid=148&#34;&gt;PHP 完整实战 23 种设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsvue4s&amp;amp;aid=8266&amp;amp;nid=148&#34;&gt;Mybatis 源码解读：设计模式总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm124s5&amp;amp;aid=8292&amp;amp;nid=148&#34;&gt;微服务架构的基础框架选择：Spring Cloud 还是 Dubbo？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fa654o2&amp;amp;aid=8201&amp;amp;nid=147&#34;&gt;你知道途牛 Android 客户端架构是怎么优化的吗？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fatxbdh&amp;amp;aid=8142&amp;amp;nid=146&#34;&gt;如何使用 PHP 构建一个高性能的弹幕后端服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6b2lsp&amp;amp;aid=8093&amp;amp;nid=145&#34;&gt;The Clean Architecture in PHP 读书笔记（九）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9c7psr&amp;amp;aid=8059&amp;amp;nid=144&#34;&gt;没有单元测试，何谈重构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4tr157&amp;amp;aid=7892&amp;amp;nid=141&#34;&gt;php-queue：PHP 开发的磁盘存储消息队列服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2nh7g6&amp;amp;aid=7761&amp;amp;nid=139&#34;&gt;JLiteSpider：轻量级的分布式 Java 爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F7dmd30&amp;amp;aid=7133&amp;amp;nid=130&#34;&gt;MVP 架构系列：豆瓣电影 Top 250&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fq5p960&amp;amp;aid=7023&amp;amp;nid=129&#34;&gt;PHP 高级编程之消息队列&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh1z7r3&amp;amp;aid=7020&amp;amp;nid=129&#34;&gt;Android 存储系统之架构篇&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fblkw89&amp;amp;aid=7001&amp;amp;nid=128&#34;&gt;Dora RPC：PHP 的分布式 RPC，支持微服务、服务发现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Faja47z&amp;amp;aid=6868&amp;amp;nid=126&#34;&gt;BLog4go：Go 实现的高性能日志库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Figxyp5&amp;amp;aid=6781&amp;amp;nid=125&#34;&gt;用设计模式解析 RecyclerView&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft70i21&amp;amp;aid=6809&amp;amp;nid=125&#34;&gt;SeimiCrawler：敏捷、独立部署、支持分布式的 Java 爬虫框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ft65e9q&amp;amp;aid=6792&amp;amp;nid=125&#34;&gt;Android 架构资源集合&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2bmhmb&amp;amp;aid=6741&amp;amp;nid=124&#34;&gt;HackerNews_Kotlin：Google MVP 架构的 Kotlin 实践 Hacker News Android 客户端&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fepgdgs&amp;amp;aid=6519&amp;amp;nid=121&#34;&gt;设计模式：PHP 和 Go 语言实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzyeuuk&amp;amp;aid=6443&amp;amp;nid=120&#34;&gt;RPCX：类似 Dubbo 的分布式 RPC 框架&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8b4zfw&amp;amp;aid=6311&amp;amp;nid=119&#34;&gt;iOS MVVM 架构：界面与数据 I/O 逻辑分离的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5jrs39&amp;amp;aid=5827&amp;amp;nid=113&#34;&gt;[译] PHP 中的设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbw0v4g&amp;amp;aid=5773&amp;amp;nid=112&#34;&gt;[译] 面向协议的 MVVM 架构介绍&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2kdmng&amp;amp;aid=5752&amp;amp;nid=112&#34;&gt;App 环境分离的实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcvphc9&amp;amp;aid=5751&amp;amp;nid=112&#34;&gt;Service Oriented 的 iOS 应用架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffuoqeh&amp;amp;aid=5747&amp;amp;nid=112&#34;&gt;微信 Android 客户端后台保活经验分享&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fatdywd&amp;amp;aid=5746&amp;amp;nid=112&#34;&gt;深入分析 iBATIS 框架之系统架构与映射原理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fi5mf23&amp;amp;aid=5725&amp;amp;nid=111&#34;&gt;实践移动端的 Flux 架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0jkeod&amp;amp;aid=5665&amp;amp;nid=111&#34;&gt;Java 单例真的写对了么？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnlyfll&amp;amp;aid=5563&amp;amp;nid=110&#34;&gt;滴滴出行 iOS 客户端架构演进之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F72fu1o&amp;amp;aid=5569&amp;amp;nid=110&#34;&gt;Android App 的设计架构：MVC, MVP, MVVM 与架构经验谈&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fs9jf1i&amp;amp;aid=5546&amp;amp;nid=109&#34;&gt;iOS 应用架构谈：组件化方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fagpnck&amp;amp;aid=5541&amp;amp;nid=109&#34;&gt;Sky Walking：对 Java 分布式应用程序集群业务运行情况进行追踪、告警和分析的系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fb5947s&amp;amp;aid=5431&amp;amp;nid=108&#34;&gt;iOS 开发性能提高&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1d5zn4&amp;amp;aid=5405&amp;amp;nid=107&#34;&gt;Golang 微服务工具包&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flf5p2m&amp;amp;aid=5361&amp;amp;nid=107&#34;&gt;用 Swift 搭建数据驱动型 iOS 架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzfu1m1&amp;amp;aid=5237&amp;amp;nid=105&#34;&gt;设计模式实现（Java、C++、Golang）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo92cr2&amp;amp;aid=5223&amp;amp;nid=105&#34;&gt;端游、手游服务端常用的架构是什么样的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ficutt3&amp;amp;aid=5222&amp;amp;nid=105&#34;&gt;微信红包的随机算法是怎样实现的？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fuu90n0&amp;amp;aid=5099&amp;amp;nid=104&#34;&gt;[译] Dapper，大规模分布式系统的跟踪系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxtl4i9&amp;amp;aid=5175&amp;amp;nid=104&#34;&gt;Nucleus - 一个 Android MVP 架构库&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6qjp90&amp;amp;aid=5009&amp;amp;nid=103&#34;&gt;[译] iOS 架构模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn9rpfr&amp;amp;aid=4990&amp;amp;nid=103&#34;&gt;Android 应用开发架构概述&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkj0g4l&amp;amp;aid=4655&amp;amp;nid=99&#34;&gt;[译] 如何利用 Python 中的 @property 装饰器快速重构代码？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqptaph&amp;amp;aid=4459&amp;amp;nid=97&#34;&gt;Java Web 架构知识整理：记一次阿里面试经历&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fv339kl&amp;amp;aid=4152&amp;amp;nid=94&#34;&gt;Java 应用一般架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg6l2kb&amp;amp;aid=4068&amp;amp;nid=93&#34;&gt;[译] Android 架构演化之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fnn74b&amp;amp;aid=3907&amp;amp;nid=91&#34;&gt;iOS 高性能图片架构与设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqck4b&amp;amp;aid=3347&amp;amp;nid=85&#34;&gt;如何实现支持数亿用户的长连消息系统 (周洋)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzkdfq&amp;amp;aid=2489&amp;amp;nid=74&#34;&gt;Android 系统架构之微服务架构 (MrSimple)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F213vr&amp;amp;aid=2431&amp;amp;nid=73&#34;&gt;iOS 应用架构谈：网络层设计方案 (CasaTaloyum)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzb6d8&amp;amp;aid=2168&amp;amp;nid=68&#34;&gt;iOS 应用架构谈：view 层的组织和调用方案 (@CasaTaloyum)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzrno2&amp;amp;aid=2124&amp;amp;nid=67&#34;&gt;iOS 应用架构谈 (@CasaTaloyum)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqpbmg&amp;amp;aid=2006&amp;amp;nid=64&#34;&gt;Android 源码设计模式分析 (@MrSimp1e)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp60yz&amp;amp;aid=3&amp;amp;nid=1&#34;&gt;iOS 设计模式解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;设计模式&#34;&gt;设计模式&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8ofy33k&amp;amp;aid=19349&amp;amp;nid=307&#34;&gt;设计模式太难了？看看这个 “说人话” 的版本再说！&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8ofy33k&amp;amp;aid=19293&amp;amp;nid=306&#34;&gt;设计模式太难了？看看这个 “说人话” 的版本再说！&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fy5tucha&amp;amp;aid=19193&amp;amp;nid=304&#34;&gt;[译] Spring 中的设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6gqgvf1&amp;amp;aid=19089&amp;amp;nid=301&#34;&gt;设计模式在外卖营销业务中的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9mzp3bf&amp;amp;aid=17715&amp;amp;nid=280&#34;&gt;Golang 设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvjgdzt1&amp;amp;aid=17484&amp;amp;nid=277&#34;&gt;你真的懂 Builder 设计模式吗？论如何实现真正安全的 Builder 模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fh91pvf&amp;amp;aid=17190&amp;amp;nid=273&#34;&gt;你想知道的 React 组件设计模式这里都有（上）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Feq68nw&amp;amp;aid=17116&amp;amp;nid=272&#34;&gt;Go 并发设计模式之 Half-Sync/Half-Async&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fasw5qp&amp;amp;aid=17073&amp;amp;nid=271&#34;&gt;Go 并发设计模式之 Active Object&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fo09i73&amp;amp;aid=16878&amp;amp;nid=269&#34;&gt;函数式编程让你忘记设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvnvqk7&amp;amp;aid=14937&amp;amp;nid=243&#34;&gt;[译] 微服务通信的设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpgarge&amp;amp;aid=14906&amp;amp;nid=243&#34;&gt;被滥用的 GUI 设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2bho18&amp;amp;aid=13613&amp;amp;nid=223&#34;&gt;微服务设计模式之 API 网关&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1orta0&amp;amp;aid=13207&amp;amp;nid=217&#34;&gt;[译] 你需要了解的 23 种 JavaScript 设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbeyk5y&amp;amp;aid=13075&amp;amp;nid=215&#34;&gt;什么时候能用上设计模式？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fdvul4d&amp;amp;aid=12795&amp;amp;nid=211&#34;&gt;浅析 iOS 中的设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fn96o20&amp;amp;aid=12747&amp;amp;nid=210&#34;&gt;浅谈 Chromium 中的设计模式（一）：Chromium 中模块分层和进程模型&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm0se1z&amp;amp;aid=12191&amp;amp;nid=203&#34;&gt;分布式系统数据层设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6kb78y&amp;amp;aid=10737&amp;amp;nid=183&#34;&gt;深入理解 iOS 设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvzmo7j&amp;amp;aid=10088&amp;amp;nid=174&#34;&gt;你了解 CSS 设计模式吗？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1f5d0d&amp;amp;aid=9203&amp;amp;nid=161&#34;&gt;iOS 设计模式资料整理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj99pg0&amp;amp;aid=8947&amp;amp;nid=158&#34;&gt;使用微服务架构重构支付网关&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyphsdo&amp;amp;aid=8899&amp;amp;nid=157&#34;&gt;当函数成为一等公民时，设计模式的变化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fba1gvr&amp;amp;aid=8275&amp;amp;nid=148&#34;&gt;PHP 完整实战 23 种设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsvue4s&amp;amp;aid=8266&amp;amp;nid=148&#34;&gt;Mybatis 源码解读：设计模式总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9ea82e&amp;amp;aid=7024&amp;amp;nid=129&#34;&gt;[译] 深入理解 React &amp;amp; Redux 原理套路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Figxyp5&amp;amp;aid=6781&amp;amp;nid=125&#34;&gt;用设计模式解析 RecyclerView&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmw1p2q&amp;amp;aid=6560&amp;amp;nid=122&#34;&gt;别人再问你设计模式，叫他看这篇文章&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fepgdgs&amp;amp;aid=6519&amp;amp;nid=121&#34;&gt;设计模式：PHP 和 Go 语言实现&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwux6na&amp;amp;aid=6415&amp;amp;nid=120&#34;&gt;图说设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F5jrs39&amp;amp;aid=5827&amp;amp;nid=113&#34;&gt;[译] PHP 中的设计模式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F0jkeod&amp;amp;aid=5665&amp;amp;nid=111&#34;&gt;Java 单例真的写对了么？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Frryx7t&amp;amp;aid=5566&amp;amp;nid=110&#34;&gt;服务化设计模式实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzfu1m1&amp;amp;aid=5237&amp;amp;nid=105&#34;&gt;设计模式实现（Java、C++、Golang）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fukeg6&amp;amp;aid=2700&amp;amp;nid=77&#34;&gt;这就是观察者模式 (@Android月)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqpbmg&amp;amp;aid=2006&amp;amp;nid=64&#34;&gt;Android 源码设计模式分析 (@MrSimp1e)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp60yz&amp;amp;aid=3&amp;amp;nid=1&#34;&gt;iOS 设计模式解析&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;重构&#34;&gt;重构&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1m60x53&amp;amp;aid=19149&amp;amp;nid=303&#34;&gt;靠谱程序员必备技能：重构也要有方法论&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbbitt36&amp;amp;aid=18438&amp;amp;nid=291&#34;&gt;系统重构的道与术&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmwwbsa0&amp;amp;aid=18181&amp;amp;nid=287&#34;&gt;3000 字详解 Kylin 查询缓存重构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvb06zhh&amp;amp;aid=18079&amp;amp;nid=285&#34;&gt;CMS 后台重构技术方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwa8waj1&amp;amp;aid=17559&amp;amp;nid=278&#34;&gt;[译] 手把手介绍函数式编程：从命令式重构到函数式&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fzm7h0w&amp;amp;aid=17007&amp;amp;nid=270&#34;&gt;领域驱动设计在马蜂窝优惠中心重构中的实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fp20k50&amp;amp;aid=16887&amp;amp;nid=269&#34;&gt;记一次前端项目重构要点总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fsni80t&amp;amp;aid=16295&amp;amp;nid=262&#34;&gt;快看！原来重构如此简单&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1a73tz&amp;amp;aid=14350&amp;amp;nid=234&#34;&gt;携程国际 BU 的 SEO 重构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F1f9hjy&amp;amp;aid=14289&amp;amp;nid=233&#34;&gt;前端重构范式之 position&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fyw7ikn&amp;amp;aid=14232&amp;amp;nid=232&#34;&gt;面向体验的重构优化&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fxvllvd&amp;amp;aid=14157&amp;amp;nid=231&#34;&gt;[译] 什么是代码整理？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpuxwzs&amp;amp;aid=14066&amp;amp;nid=230&#34;&gt;最佳实践：重构 AppDelegate（iOS）&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fif6kcd&amp;amp;aid=13886&amp;amp;nid=227&#34;&gt;前端重构范式之 float layout&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9808ju&amp;amp;aid=13591&amp;amp;nid=223&#34;&gt;Go 代码重构：23 倍的性能爆增&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpmw8k9&amp;amp;aid=13468&amp;amp;nid=221&#34;&gt;重构 React 组件的实用清单&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4g28uc&amp;amp;aid=11929&amp;amp;nid=199&#34;&gt;IntelliJ IDEA 复杂的重构操作&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm6223t&amp;amp;aid=11839&amp;amp;nid=198&#34;&gt;IntelliJ IDEA 复杂的重构技巧&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2z2c8a&amp;amp;aid=11516&amp;amp;nid=194&#34;&gt;6 个月清洗近千亿条微信支付交易记录，他们要搞什么大事情？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F3s1cb0&amp;amp;aid=11469&amp;amp;nid=193&#34;&gt;电商工作后台首页的商业价值重构与产品化设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F36bkj5&amp;amp;aid=11128&amp;amp;nid=188&#34;&gt;巧用匿名函数重构你的代码&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvii7xj&amp;amp;aid=11077&amp;amp;nid=187&#34;&gt;[译] 微服务从设计到部署（七）：重构单体为微服务&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkoyyyl&amp;amp;aid=10952&amp;amp;nid=186&#34;&gt;系统重构的 10 点经验总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F2bts6n&amp;amp;aid=10888&amp;amp;nid=185&#34;&gt;Spark 技术在唯品会财务系统重构中的实践总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fl0vos2&amp;amp;aid=9898&amp;amp;nid=171&#34;&gt;重构：靠谱程序员的必备技能&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fwrkil7&amp;amp;aid=9618&amp;amp;nid=167&#34;&gt;重构之十六字心法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F4grbn9&amp;amp;aid=9310&amp;amp;nid=163&#34;&gt;沪江学习 Android 端应用架构重构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fhqoj3c&amp;amp;aid=9324&amp;amp;nid=163&#34;&gt;如何重构 “箭头型” 代码&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fj99pg0&amp;amp;aid=8947&amp;amp;nid=158&#34;&gt;使用微服务架构重构支付网关&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9c7psr&amp;amp;aid=8059&amp;amp;nid=144&#34;&gt;没有单元测试，何谈重构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpq17kb&amp;amp;aid=7739&amp;amp;nid=139&#34;&gt;在重构脚手架中掌握 React / Redux / Webpack2 基本套路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbj8f2u&amp;amp;aid=6724&amp;amp;nid=124&#34;&gt;[PPT] 一次重构引发的分布式服务管理&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fvypknr&amp;amp;aid=6604&amp;amp;nid=123&#34;&gt;如何重构一个大型历史项目：百度经验改版总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fm7pko4&amp;amp;aid=6462&amp;amp;nid=121&#34;&gt;重构过程中的过度设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fmsc7fg&amp;amp;aid=5694&amp;amp;nid=111&#34;&gt;重构的七宗罪&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftsm29i&amp;amp;aid=4926&amp;amp;nid=102&#34;&gt;CSS 代码重构与优化之路&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fkj0g4l&amp;amp;aid=4655&amp;amp;nid=99&#34;&gt;[译] 如何利用 Python 中的 @property 装饰器快速重构代码？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fihikv&amp;amp;aid=2710&amp;amp;nid=77&#34;&gt;前端技能训练：重构一 (@Phodal)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;集群&#34;&gt;集群&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqfdoann&amp;amp;aid=19231&amp;amp;nid=305&#34;&gt;架构设计基础：单服务、集群、分布式的基本区别和联系&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fjvrb95x&amp;amp;aid=17992&amp;amp;nid=284&#34;&gt;Egg.js 打造高可用服务集群&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fpsflvg&amp;amp;aid=16363&amp;amp;nid=263&#34;&gt;Zookeeper 集群如何高可用部署？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F6ywapq&amp;amp;aid=16250&amp;amp;nid=262&#34;&gt;滴滴 Elasticsearch 多集群架构实践&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fbx4tiy&amp;amp;aid=15297&amp;amp;nid=249&#34;&gt;那些年用过的 Redis 集群架构&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ffxnlcx&amp;amp;aid=14485&amp;amp;nid=236&#34;&gt;分布式高性能 Redis 集群线上常见问题&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Flqz7i8&amp;amp;aid=13806&amp;amp;nid=226&#34;&gt;Node.js：浅析高并发与分布式集群&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F9g5txc&amp;amp;aid=13722&amp;amp;nid=225&#34;&gt;你不知道的 RabbitMQ 集群架构全解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcazqgv&amp;amp;aid=13222&amp;amp;nid=217&#34;&gt;MySQL 高可用集群方案之 PXC&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fqgjwm8&amp;amp;aid=12690&amp;amp;nid=210&#34;&gt;集群资源调度系统设计架构总结&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fg6a3fw&amp;amp;aid=11000&amp;amp;nid=186&#34;&gt;dubbo 源码解析：集群容错架构设计&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2F8ds6fl&amp;amp;aid=10390&amp;amp;nid=178&#34;&gt;微服务注册发现集群搭建：Registrator + Consul + Consul-template + nginx&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fcao9bv&amp;amp;aid=7144&amp;amp;nid=130&#34;&gt;ActiveMQ 高可用集群方案&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Ftbdmv6&amp;amp;aid=5491&amp;amp;nid=109&#34;&gt;如果有 10000 台机器，你想怎么玩？&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://weekly.manong.io/bounce?url=https%3A%2F%2Ftoutiao.io%2Fk%2Fagpnck&amp;amp;aid=5541&amp;amp;nid=109&#34;&gt;Sky Walking：对 Java 分布式应用程序集群业务运行情况进行追踪、告警和分析的系统&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>mybatis</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/mybatis/mybatis/</link>
      <pubDate>Wed, 06 Jul 2022 16:43:01 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/mybatis/mybatis/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;阅读准备参考：https://www.jianshu.com/p/e739afb8fe31&#xA;需要导入模块：需要将mybatis-parent模块导入。mybatis-parent模块链接 https://github.com/mybatis/parent&#xA;&#xA;1.兵马未动，日志先行&#xA;org.apache.ibatis.logging&#xA;org.apache.ibatis.logging.commons&#xA;org.apache.ibatis.logging.jdbc&#xA;org.apache.ibatis.logging.jdk14&#xA;org.apache.ibatis.logging.log4j&#xA;org.apache.ibatis.logging.log4j2&#xA;org.apache.ibatis.logging.nologging&#xA;org.apache.ibatis.logging.slf4j&#xA;org.apache.ibatis.logging.stdout&#xA;对象适配器设计模式&#xA;设计模式可参考http://www.cnblogs.com/liuling/archive/2013/04/12/adapter.html&#xA;&#xA;2.异常&#xA;org.apache.ibatis.exceptions&#xA;&#xA;3.缓存&#xA;org.apache.ibatis.cache&#xA;org.apache.ibatis.cache.decorators&#xA;org.apache.ibatis.cache.impl&#xA;&#xA;4.解析&#xA;org.apache.ibatis.parsing&#xA;xml解析，${} 格式的字符串解析&#xA;源码分析可以参考http://www.cnblogs.com/sunzhenchao/p/3161093.html&#xA;&#xA;5.类型处理器&#xA;org.apache.ibatis.type&#xA;实现java和jdbc中的类型之间转换&#xA;源码分析可以参考http://www.cnblogs.com/sunzhenchao/archive/2013/04/09/3009431.html&#xA;&#xA;6.IO&#xA;org.apache.ibatis.io&#xA;通过类加载器在jar包中寻找一个package下满足条件(比如某个接口的子类)的所有类&#xA;&#xA;7.反射&#xA;org.apache.ibatis.reflection&#xA;org.apache.ibatis.reflection.factory&#xA;org.apache.ibatis.reflection.invoker&#xA;org.apache.ibatis.reflection.property&#xA;org.apache.ibatis.reflection.wrapper&#xA;可以参考MetaObjectTest来跟踪调试，基本上用到了reflection包下所有的类&#xA;&#xA;8.数据源&#xA;org.apache.ibatis.datasource&#xA;org.apache.ibatis.datasource.jndi&#xA;org.apache.ibatis.datasource.pooled&#xA;org.apache.ibatis.datasource.unpooled&#xA;&#xA;9.事务&#xA;org.apache.ibatis.transaction&#xA;org.apache.ibatis.transaction.jdbc&#xA;org.apache.ibatis.transaction.managed&#xA;&#xA;10.会话&#xA;org.apache.ibatis.session&#xA;org.apache.ibatis.session.defaults&#xA;&#xA;11.jdbc单元测试工具&#xA;org.apache.ibatis.jdbc&#xA;&#xA;12.构建&#xA;org.apache.ibatis.builder&#xA;org.apache.ibatis.builder.annotation&#xA;org.apache.ibatis.builder.xml&#xA;&#xA;13.映射&#xA;org.apache.ibatis.mapping&#xA;&#xA;14.脚本&#xA;org.apache.ibatis.scripting&#xA;org.apache.ibatis.scripting.defaults&#xA;org.apache.ibatis.scripting.xmltags&#xA;&#xA;15.注解&#xA;org.apache.ibatis.annotations&#xA;&#xA;16.绑定&#xA;org.apache.ibatis.binding&#xA;&#xA;17.执行器&#xA;org.apache.ibatis.executor&#xA;org.apache.ibatis.executor.keygen&#xA;org.apache.ibatis.executor.loader&#xA;org.apache.ibatis.executor.loader.cglib&#xA;org.apache.ibatis.executor.loader.javassist&#xA;org.apache.ibatis.executor.parameter&#xA;org.apache.ibatis.executor.result&#xA;org.apache.ibatis.executor.resultset&#xA;org.apache.ibatis.executor.statement&#xA;&#xA;18.插件&#xA;org.apache.ibatis.plugin&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>雪花算法</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/snowflake/</link>
      <pubDate>Wed, 29 Jun 2022 16:43:16 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/snowflake/</guid>
      <description>&lt;h2 id=&#34;1-历史&#34;&gt;1. 历史&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/twitter-archive/snowflake&#34;&gt;snowflake&lt;/a&gt;是由 twitter 开源的分布式 id 生成算法，采 用 Scala 语言实现，是把一个 64 位的 long 型的 id，1 个 bit 是不用的，用其中的 41 bits 作为毫秒数，用 10 bits 作为工作机器 id，12 bits 作为序列号。&lt;/p&gt;&#xA;&lt;p&gt;小插曲：世界上没有两片相同的雪花，所以使用雪花来表示唯一&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-算法内容&#34;&gt;2. 算法内容&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202206291654161.webp&#34; alt=&#34;snowflake&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;1:第一位不使用：为什么这里第一位不使用，因为对于long类型，如果第一位是&lt;code&gt;1&lt;/code&gt; 则说明是负数&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;2～42:表示时间戳，最多可以表示2^41-1次方的数值，可以是毫秒级。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;43～52:表示工作机器ID，最多支持2^10机器，也就是1024的机器。可以自己定义前几位为机房ID。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;53～64:表示自增ID，同一毫秒如果超过2^12次方的增长量，应该算非常大的了&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;3-代码实现&#34;&gt;3. 代码实现&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;SnowFlake&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; workerId;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; datacenterId;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; sequence;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;SnowFlake&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; workerId, &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; datacenterId, &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; sequence) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// sanity check for workerId&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 这儿不就检查了一下，要求就是你传递进来的机房id和机器id不能超过32，不能小于0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 这个是二进制运算，就是 5 bit最多只能有31个数字，也就是说机器id最多只能是32以内&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 这个是一个意思，就是 5 bit最多只能有31个数字，机房id最多只能是32以内&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; maxWorkerId &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;1L &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt; workerIdBits);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (workerId &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; maxWorkerId &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; workerId &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; 0) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; IllegalArgumentException(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    String.&lt;span style=&#34;color:#a6e22e&#34;&gt;format&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;worker Id can&amp;#39;t be greater than %d or less than 0&amp;#34;&lt;/span&gt;, maxWorkerId));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; maxDatacenterId &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;1L &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt; datacenterIdBits);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (datacenterId &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; maxDatacenterId &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; datacenterId &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; 0) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; IllegalArgumentException(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    String.&lt;span style=&#34;color:#a6e22e&#34;&gt;format&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;datacenter Id can&amp;#39;t be greater than %d or less than 0&amp;#34;&lt;/span&gt;, maxDatacenterId));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        System.&lt;span style=&#34;color:#a6e22e&#34;&gt;out&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;printf&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;worker starting. timestamp left shift %d, datacenter id bits %d, worker id bits %d, &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sequence bits %d, workerid %d&amp;#34;&lt;/span&gt;, timestampLeftShift, datacenterIdBits, workerIdBits,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                sequenceBits, workerId);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;workerId&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; workerId;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;datacenterId&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; datacenterId;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;sequence&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sequence;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; workerIdBits &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 5L;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; datacenterIdBits &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 5L;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; sequenceBits &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 12L;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; timestampLeftShift &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sequenceBits &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; workerIdBits &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; datacenterIdBits;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; lastTimestamp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;1L;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getWorkerId&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; workerId;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getDatacenterId&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; datacenterId;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getTimestamp&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; System.&lt;span style=&#34;color:#a6e22e&#34;&gt;currentTimeMillis&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;synchronized&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;nextId&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 这儿就是获取当前时间戳，单位是毫秒&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; timestamp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; timeGen();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (timestamp &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; lastTimestamp) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            System.&lt;span style=&#34;color:#a6e22e&#34;&gt;err&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;printf&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;clock is moving backwards.  Rejecting requests until %d.&amp;#34;&lt;/span&gt;, lastTimestamp);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; RuntimeException(String.&lt;span style=&#34;color:#a6e22e&#34;&gt;format&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Clock moved backwards.  Refusing to generate id for %d milliseconds&amp;#34;&lt;/span&gt;, lastTimestamp &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; timestamp));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (lastTimestamp &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; timestamp) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;// 这个意思是说一个毫秒内最多只能有4096个数字&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;// 无论你传递多少进来，这个位运算保证始终就是在4096这个范围内，避免你自己传递个sequence超过了4096这个范围&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; sequenceMask &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~&lt;/span&gt;(&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;1L &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt; sequenceBits);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            sequence &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (sequence &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; 1) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt; sequenceMask;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (sequence &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; 0) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                timestamp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tilNextMillis(lastTimestamp);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            sequence &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 0;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 这儿记录一下最近一次生成id的时间戳，单位是毫秒&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        lastTimestamp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; timestamp;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 这儿就是将时间戳左移，放到 41 bit那儿；&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 将机房 id左移放到 5 bit那儿；&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 将机器id左移放到5 bit那儿；将序号放最后12 bit；&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 最后拼接起来成一个 64 bit的二进制数字，转换成 10 进制就是个 long 型&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; datacenterIdShift &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; sequenceBits &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; workerIdBits;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; twepoch &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 1288834974657L;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; ((timestamp &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; twepoch) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt; timestampLeftShift) &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; (datacenterId &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt; datacenterIdShift)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; (workerId &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt; sequenceBits) &lt;span style=&#34;color:#f92672&#34;&gt;|&lt;/span&gt; sequence;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;tilNextMillis&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; lastTimestamp) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; timestamp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; timeGen();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; (timestamp &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; lastTimestamp) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            timestamp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; timeGen();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; timestamp;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;long&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;timeGen&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; System.&lt;span style=&#34;color:#a6e22e&#34;&gt;currentTimeMillis&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// ---------------测试---------------&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;(String&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; args) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        SnowFlake worker &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; SnowFlake(1, 1, 1);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; i &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 0; i &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; 30; i&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            System.&lt;span style=&#34;color:#a6e22e&#34;&gt;out&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;println&lt;/span&gt;(worker.&lt;span style=&#34;color:#a6e22e&#34;&gt;nextId&lt;/span&gt;());&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;参考地址&#34;&gt;参考地址：&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.csdn.net/qq_33797815/article/details/113178832&#34;&gt;https://blog.csdn.net/qq_33797815/article/details/113178832&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>图片服务整体架构</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/devops/pic-app/</link>
      <pubDate>Thu, 09 Jun 2022 15:09:21 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/devops/pic-app/</guid>
      <description>&lt;h2 id=&#34;1背景&#34;&gt;1.背景&lt;/h2&gt;&#xA;&lt;p&gt;面向海外用户设计图片类app的后端架构。&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-目标&#34;&gt;2. 目标&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;考虑跨地区访问图片列表。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;图片容灾和备份服务。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;用户访问突增的解决方案。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;海外服务政策相关注意事项。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;3-方案图片&#34;&gt;3. 方案（图片）&lt;/h2&gt;&#xA;&lt;p&gt;ps：这里先统一考虑图片的设计过程，图片解决后，再考虑业务后台过程&lt;/p&gt;&#xA;&lt;h3 id=&#34;31-自研&#34;&gt;3.1 自研&lt;/h3&gt;&#xA;&lt;h4 id=&#34;方案设计&#34;&gt;方案设计&lt;/h4&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202206101026771.png&#34; alt=&#34;v1.drawio&#34;&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;分布式文件系统：采用开源系统进行搭建分布式文件系统&lt;/li&gt;&#xA;&lt;li&gt;文件系统服务：可以新增图片时可以生成索引返回给业务，当业务只需要根据索引，就能查询到对应的文件内容&lt;/li&gt;&#xA;&lt;li&gt;业务层：上传服务主要负责图片的上传、而列表服务则是需要根据请求，获取列表及数据&lt;/li&gt;&#xA;&lt;li&gt;接入层：接收用户的请求，把请求代理到业务上&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这么设计，可以实现一个图片类的应用。在实际中会有什么问题？&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;不同区域的用户，体验不一样，用户离部署的节点越近，用户体验更好&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;因为根据之前的经验，地域对于网络的延迟影响很大。大致从ping上就能体现&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;地区1&lt;/th&gt;&#xA;          &lt;th&gt;地区2&lt;/th&gt;&#xA;          &lt;th&gt;ping时间&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;上海&lt;/td&gt;&#xA;          &lt;td&gt;广州&lt;/td&gt;&#xA;          &lt;td&gt;30ms&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;上海&lt;/td&gt;&#xA;          &lt;td&gt;上海&lt;/td&gt;&#xA;          &lt;td&gt;10ms&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;上海&lt;/td&gt;&#xA;          &lt;td&gt;美国&lt;/td&gt;&#xA;          &lt;td&gt;100ms&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;从终端的成功率上看，由于网络上的丢包、延迟，成功率会低很多，特别是图片（目前图片1～3M都是比较正常的），这么大的图片，在过程中，发生丢包、延迟，失败率可想而知，会特别的高。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这种场景，我们可以考虑下，访问国外某些网站的时候，经常是失败，体验非常差&lt;/p&gt;&#xA;&lt;h4 id=&#34;改进点&#34;&gt;改进点&lt;/h4&gt;&#xA;&lt;p&gt;那么需要怎么改进呢？&lt;/p&gt;&#xA;&lt;p&gt;比较容易想到的就是，既然是距离远，那么直接在对应的地方部署一个服务，不就行了么？&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202206101104619.png&#34; alt=&#34;v2.1.drawio&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这样各地的用户，通过dns的调度，访问对应的接入层，接入层只访问当前区域的服务（同一个区域），这样就减少了网络上的问题。解决了用户体验。但是，好像跟需求不是太耦合。。。需求是&lt;code&gt;跨区域访问&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;那么要怎么样实现跨区域访问呢？&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202206101109613.png&#34; alt=&#34;v2.3.drawio&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;从图上可以看出来，如果底层数据实现了数据同步，那么是不是就可以了？&lt;/p&gt;&#xA;&lt;p&gt;比如亚洲用户发布内容，那么我们把数据同步给其他集群，这样其他集群就可以访问到亚洲用户的信息了&lt;/p&gt;&#xA;&lt;p&gt;要怎么实现同步呢？目前了解到**&lt;code&gt;FastDFS&lt;/code&gt;**可以实现分布式任务系统的，他是采用binlog进行同步，在log中有个标志位用户记录该条记录是&lt;code&gt;C: 增加 D: 删除 A: 添加 M: 修改 U: 更新整个文件 T: 截断文件&lt;/code&gt; 等，当亚洲区域进行添加时，会发送日志给美洲、欧洲，他们也会根据binlog的日志添加，这里需要注意：同步数据采用的标识与写入的是不一样的，采用小写，目的是为了区别是否需要同步给其他集群。&lt;/p&gt;&#xA;&lt;p&gt;这里还没有对FastDFS跨区同步进行测试过，还不确定具体的延迟能够到达多少（有待验证）。&lt;/p&gt;&#xA;&lt;p&gt;理论上，上面的方案是可以实现的，那么我们会有什么问题呢？&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;所有图片数据，都存在多份，每个数据都需要进行公网的同步。&lt;/li&gt;&#xA;&lt;li&gt;文件传入与数据传输需要保证一致，不能有数据了，没有文件&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;那么我们有没有其他方案进行呢？下面我们来看下&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202206101614227.png&#34; alt=&#34;v2.4.drawio&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;对于图片，可以采用CDN加速。&lt;/p&gt;&#xA;&lt;p&gt;对于API接口了解到市面上，有一种产品，叫做“全站加速”或者“动态加速”，也就是cdn不进行缓存，直接访问，这样的话，我们可以直接让用户访问，这样的话，所有数据都访问了中心区域的数据，通过“动态加速”把用户和源进行连接，核心是增加了数据传输的稳定性，降低失败率。&lt;/p&gt;&#xA;&lt;p&gt;这种方式存在什么问题：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;数据量问题：&lt;/p&gt;&#xA;&lt;p&gt;a) 扩容问题：这个也不算特别问题，是项目一般都会遇到&lt;/p&gt;</description>
    </item>
    <item>
      <title>Java线程</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/java/java-thread/</link>
      <pubDate>Thu, 02 Jun 2022 10:22:45 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/java/java-thread/</guid>
      <description>&lt;h1 id=&#34;线程&#34;&gt;线程&lt;/h1&gt;&#xA;&lt;h2 id=&#34;概念&#34;&gt;概念&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Java线程是什么&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Java的线程，是运行在JVM的程序上的基本执行单元， Java针对线程抽象出Thread对象的概念。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Java线程分类&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Thread分为守护线程和非守护线程，当JVM启动时，伴随一个非守护线程的运行，我们称之为主线程/main函数，当JVM所有的非守护线程都销毁时，JVM实例也会销毁；&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Java线程生命周期&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Java线程包含6个状态：NEW，RUNNABLE，BLOCKED，WAITING，TIMED_WAITING，TERMINATED&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;多线程优缺点&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;JVM支持多线程，正确使用多线程能大大提高程序的服务能力，同时也引入程序的复杂度和线程安全问题(不正确使用)。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;状态threadstate&#34;&gt;状态&lt;code&gt;Thread.State&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;一个线程在指定的时刻上，只能存在一个状态；JVM的线程状态和操作系统的线程状态不是一一对应的。了解线程状态可用于分析线程问题/监控，不建议通过判断线程状态来进行逻辑处理&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202206021024473.png&#34; alt=&#34;Thread-20b08934&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;NEW&lt;/code&gt; (新建)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;一个尚未启动的线程处于这一状态。(A thread that has not yet started is in this state.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;尚未启动的线程处于这一状态，即尚未调用start()&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-Java&#34; data-lang=&#34;Java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Theard t &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Theard();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;RUNNABLE&lt;/code&gt; (可运行)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;一个正在 Java 虚拟机中执行的线程处于这一状态。(A thread executing in the Java virtual machine is in this state.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;JVM中可执行的线程处于这一状态&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-Java&#34; data-lang=&#34;Java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Theard t &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Theard();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;t.&lt;span style=&#34;color:#a6e22e&#34;&gt;start&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;BLOCKED&lt;/code&gt; (阻塞)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;一个正在阻塞等待一个监视器锁的线程处于这一状态。(A thread that is blocked waiting for a monitor lock is in this state.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Java内存模型</title>
      <link>https://micah.wiki/posts/1.learning/a3.reflections/java/java-jmm/</link>
      <pubDate>Thu, 02 Jun 2022 10:21:01 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a3.reflections/java/java-jmm/</guid>
      <description>&lt;h1 id=&#34;java内存模型jmm&#34;&gt;Java内存模型（JMM）&lt;/h1&gt;&#xA;&lt;h2 id=&#34;概念&#34;&gt;概念&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Java内存模型（Java Memory Model，JMM），用于屏蔽掉各种硬件和操作系统的内存访问差异，以实现让Java程序在各种平台下都能达到一致的并发效果，JMM规范了Java虚拟机与计算机内存是如何协同工作的：规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值，以及在必须时如何同步的访问共享变量。&lt;/p&gt;&#xA;&lt;p&gt;Java内存模型（不仅仅是JVM内存分区）：调用栈和本地变量存放在线程栈上，对象存放在堆上。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;堆栈存放规则&#34;&gt;堆栈存放规则&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.shijinping.cn/picgo/202206021021081.jpg&#34; alt=&#34;JMM-ae7349b6&#34;&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;一个本地变量可能是原始类型，在这种情况下，它总是“呆在”线程栈上。&lt;/li&gt;&#xA;&lt;li&gt;一个本地变量也可能是指向一个对象的一个引用。在这种情况下，引用（这个本地变量）存放在线程栈上，但是对象本身存放在堆上。&lt;/li&gt;&#xA;&lt;li&gt;一个对象可能包含方法，这些方法可能包含本地变量。这些本地变量仍然存放在线程栈上，即使这些方法所属的对象存放在堆上。&lt;/li&gt;&#xA;&lt;li&gt;一个对象的成员变量可能随着这个对象自身存放在堆上。不管这个成员变量是原始类型还是引用类型。&lt;/li&gt;&#xA;&lt;li&gt;静态成员变量跟随着类定义一起也存放在堆上。&lt;/li&gt;&#xA;&lt;li&gt;存放在堆上的对象可以被所有持有对这个对象引用的线程访问。当一个线程可以访问一个对象时，它也可以访问这个对象的成员变量。如果两个线程同时调用同一个对象上的同一个方法，它们将会都访问这个对象的成员变量，但是每一个线程都拥有这个成员变量的私有拷贝。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;资料地址&#34;&gt;资料地址&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://zhuanlan.zhihu.com/p/29881777&#34;&gt;EnjoyMoving&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>阿里云盘mac本地挂在</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/aliyunpan-mac/</link>
      <pubDate>Sat, 19 Mar 2022 21:06:28 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/aliyunpan-mac/</guid>
      <description>&lt;p&gt;主要参考文档：https://blog.51cto.com/xuedingmaojun/4815572&lt;/p&gt;&#xA;&lt;p&gt;采用方式：&#xA;&lt;a href=&#34;https://github.com/zxbu/webdav-aliyundriver#jar&#34;&gt;https://github.com/zxbu/webdav-aliyundriver#jar&lt;/a&gt;包运行&lt;/p&gt;&#xA;&lt;p&gt;挂在地址代码&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd /Users/xxx/Workspaces/WebRoot/logs/webdav;nohup java -jar /Users/xxx/Workspaces/Env/WebDAV/PATH/bin/webdav-aliyundriver-2.4.2.jar --aliyundrive.refresh-token&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;aaa&amp;#34;&lt;/span&gt; --server.port&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;aaa --aliyundrive.work-dir&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/usr/local/etc/webdav/aliyundriver --aliyundrive.auth.user-name&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;aaa --aliyundrive.auth.password&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;aaa &amp;gt; /Users/aaa/Workspaces/WebRoot/logs/webdav/webdav.log 2&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &amp;amp;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# nohup切换前台停止&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>黑苹果未完善问题点</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/hackintool-todo/</link>
      <pubDate>Sat, 19 Mar 2022 21:06:28 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/hackintool-todo/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 前置耳机无声音&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/acidanthera/AppleALC/blob/master/README_CN.md&#34;&gt;https://github.com/acidanthera/AppleALC/blob/master/README_CN.md&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;型号为alc222&lt;/p&gt;&#xA;&lt;p&gt;alcid=11&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo项目部署</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/hugo-init/</link>
      <pubDate>Sun, 13 Mar 2022 21:06:28 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/hugo-init/</guid>
      <description>&lt;h1 id=&#34;安装&#34;&gt;安装&lt;/h1&gt;&#xA;&lt;p&gt;我喜欢安装直接下载下来，放在bin目录下，所以在 &lt;a href=&#34;https://github.com/gohugoio/hugo/releases&#34;&gt;git&lt;/a&gt; 的release下载对应的版本&lt;/p&gt;&#xA;&lt;p&gt;检查安装&lt;code&gt;hugo version&lt;/code&gt;查看是否已经安装成功&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;一般执行的时候，会出现告警，只要进入&lt;code&gt;系统偏好设置&lt;/code&gt;-&amp;gt;&lt;code&gt;安全性与隐私&lt;/code&gt;-&amp;gt;&lt;code&gt;通用&lt;/code&gt;中&lt;code&gt;仍然允许&lt;/code&gt;后，再执行一次就可以了&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h1 id=&#34;使用&#34;&gt;使用&lt;/h1&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;现在自己的目录（按照自己的习惯，我习惯&lt;code&gt;~/Workspaces/WebRoot&lt;/code&gt;）下，执行&lt;code&gt;hugo new site xxx&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;找到自己喜欢的皮肤，个人喜欢 &lt;a href=&#34;https://github.com/olOwOlo/hugo-theme-even&#34;&gt;even&lt;/a&gt;&#xA;皮肤，该皮肤从hexo-theme-even移植而来，个人感觉还不错。到新建的项目下，进入 &lt;code&gt;themes&lt;/code&gt;&#xA;目录，执行 &lt;code&gt;git clone https://github.com/olOwOlo/hugo-theme-even.git even&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;把&lt;code&gt;exampleSite&lt;/code&gt;下的&lt;code&gt;config.toml&lt;/code&gt;复制到&lt;code&gt;xxx&lt;/code&gt;项目下，并根据自己的方式进行修改&lt;/li&gt;&#xA;&lt;li&gt;在 &lt;code&gt;xxx-&amp;gt;content&lt;/code&gt; 目录下，克隆你要维护的blog的markdown文档，文件夹名字命名为 &lt;code&gt;post&lt;/code&gt; ，因为该theme使用的是post，而不是posts&lt;/li&gt;&#xA;&lt;li&gt;在&lt;code&gt;xxx&lt;/code&gt; 目录夹运行&lt;code&gt;hugo -D&lt;/code&gt;，建议先删除下&lt;code&gt;public&lt;/code&gt;目录下的内容&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;命令如下&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ~/Workspaces/WebRoot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo new site xxx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd themes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/olOwOlo/hugo-theme-even.git even&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ../&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv config.toml default.config.toml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp themes/even/exampleSite/config.toml ./&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 修改自己的信息&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi config.toml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd content&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# clone 你blog的markdown地址&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone xxx post&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ..&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm -rf public/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo -D&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;web搭建&#34;&gt;web搭建&lt;/h1&gt;&#xA;&lt;p&gt;刚才我们安装的路径是 &lt;code&gt;~/Workspaces/WebRoot/xxx&lt;/code&gt; 而hugo生成的具体内容为&lt;code&gt;~/Workspaces/WebRoot/xxx/public/&lt;/code&gt; 下，所以我们需要对nginx配置地址为相应的地址&lt;/p&gt;</description>
    </item>
    <item>
      <title>Github同步Gitee</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/github-sync-gitee/</link>
      <pubDate>Wed, 02 Mar 2022 13:48:42 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/github-sync-gitee/</guid>
      <description>&lt;h2 id=&#34;问题&#34;&gt;问题&lt;/h2&gt;&#xA;&lt;p&gt;由于国内访问Github受限，经常是无法访问，所以就通过Gitee来代理，如何同步成为一个问题，网上主要有两种方案：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;通过项目关联，同时push到Github和Gitee&lt;/li&gt;&#xA;&lt;li&gt;通过Github的workflow进行同步&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;尝试&#34;&gt;尝试&lt;/h2&gt;&#xA;&lt;h3 id=&#34;关联同时push&#34;&gt;关联同时push&lt;/h3&gt;&#xA;&lt;p&gt;参考地址：https://cloud.tencent.com/developer/article/1649682&lt;/p&gt;&#xA;&lt;h3 id=&#34;workflow&#34;&gt;workflow&lt;/h3&gt;&#xA;&lt;p&gt;参考地址：https://juejin.cn/post/6894928345830522887&lt;/p&gt;&#xA;&lt;h3 id=&#34;gitee服务&#34;&gt;Gitee服务&lt;/h3&gt;&#xA;&lt;p&gt;参考地址：https://gitee.com/help/articles/4336#article-header2&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何编写 Gitbook</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/gitbook-install/</link>
      <pubDate>Tue, 01 Mar 2022 01:13:27 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/gitbook-install/</guid>
      <description>&lt;h2 id=&#34;环境&#34;&gt;环境&lt;/h2&gt;&#xA;&lt;p&gt;nodejs&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;nodejs目前的版本比较高，如果直接使用14版本，会存在gitbook安装失败，最好使用12版本&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yum install nodejs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 检查是否安装成功&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;node -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;安装&#34;&gt;安装&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;npm install -g gitbook-cli&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 检查是否安装成功&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gitbook --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 出现错误 `cb.apply is not a function`，修复方法，详见`https://mizeri.github.io/2021/04/24/gitbook-cbapply-not-a-function/`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 修改`/usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js`文件的65行起3行，具体内容如下&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;// fs.stat &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; statFix&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;fs.stat&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;// fs.fstat &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; statFix&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;fs.fstat&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;// fs.lstat &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; statFix&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;fs.lstat&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;生成book&#34;&gt;生成book&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;如何 &lt;code&gt;html&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gitbook build ./Thief ./ThiefTarget/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;配置nginx&#34;&gt;配置nginx&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen 80;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;::&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;:80;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen &lt;span style=&#34;color:#ae81ff&#34;&gt;81&lt;/span&gt; http2;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    server_name gitbook.micah.wiki;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    root /xxx;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location / &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /robots.txt &lt;span style=&#34;color:#f92672&#34;&gt;{}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    listen       &lt;span style=&#34;color:#ae81ff&#34;&gt;443&lt;/span&gt; ssl;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    server_name  gitbook.micah.wiki;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_certificate      /yyy/cert.pem;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_certificate_key  /yyy/key.pem;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_session_cache    shared:SSL:1m;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_session_timeout  5m;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_ciphers  HIGH:!aNULL:!MD5;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ssl_prefer_server_ciphers  on;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    root /xxx;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location / &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    location &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /robots.txt &lt;span style=&#34;color:#f92672&#34;&gt;{}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;封面&#34;&gt;封面&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;大&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;小&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;文件&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;cover.jpg&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;code&gt;cover_small.jpg&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;大小（像素）&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;1800x2360&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;200x262&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;术语&#34;&gt;术语&lt;/h2&gt;&#xA;&lt;p&gt;增加 &lt;code&gt;GLOSSARY.md&lt;/code&gt; 文件，貌似目前值支持英文的，不支持 GitBook 中文 术语&lt;/p&gt;</description>
    </item>
    <item>
      <title>苹果系统问题</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/mac-problem/</link>
      <pubDate>Tue, 01 Mar 2022 01:04:18 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/mac-problem/</guid>
      <description>&lt;h2 id=&#34;1邮箱无法删除&#34;&gt;1.邮箱无法删除&lt;/h2&gt;&#xA;&lt;p&gt;菜单选择：邮箱 -&amp;gt; 重建&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-your-have-mail&#34;&gt;2. Your have Mail&lt;/h2&gt;&#xA;&lt;p&gt;找到&lt;code&gt;/var/mail&lt;/code&gt;，如果里面有内容。&#xA;使用 &lt;code&gt;mail&lt;/code&gt; 查看具体内容或使用 &lt;code&gt;rm /var/mail/$USER&lt;/code&gt; 进行删除&lt;/p&gt;&#xA;&lt;h2 id=&#34;3-locale问题-远程登录时-lc_ctype-cannot-change-locale-utf-8&#34;&gt;3. locale问题 远程登录时 &lt;code&gt;LC_CTYPE: cannot change locale (UTF-8)&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;p&gt;在.zshrc中添加以下命令&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;export LC_ALL=en_US.UTF-8  &#xA;export LANG=en_US.UTF-8&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;4-image2icon&#34;&gt;4. image2icon&lt;/h2&gt;&#xA;&lt;p&gt;mac上的图标不是新版本，看上去很不顺眼，可以使用该软件，生成icns后，然后使用“查看简介”，直接拖动到左上角的图标上 &lt;code&gt;xclient&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>免费的苹果iBook软件</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/iphone-ibook/</link>
      <pubDate>Tue, 01 Mar 2022 01:01:19 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/iphone-ibook/</guid>
      <description>&lt;h2 id=&#34;如何操作&#34;&gt;如何操作&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;打开&lt;a href=&#34;https://singlelogin.org/&#34;&gt;zlibrary&lt;/a&gt; 网站，选择右上角汉语&lt;/li&gt;&#xA;&lt;li&gt;注册后，通过邮箱激活网站&lt;/li&gt;&#xA;&lt;li&gt;登录刚才激活的邮箱，域名选择“书籍”&lt;/li&gt;&#xA;&lt;li&gt;进入后搜索你需要的书籍&lt;/li&gt;&#xA;&lt;li&gt;选择epub类型，通过safari下载。&lt;/li&gt;&#xA;&lt;li&gt;点开下载中的文件，通过”图书“软件打开&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>Hugo学习</title>
      <link>https://micah.wiki/posts/1.learning/a1.studynotes/hugo-xuexi/</link>
      <pubDate>Mon, 28 Feb 2022 12:00:24 +0800</pubDate>
      <guid>https://micah.wiki/posts/1.learning/a1.studynotes/hugo-xuexi/</guid>
      <description>&lt;p&gt;在头部增加&lt;code&gt;tags&lt;/code&gt;、&lt;code&gt;categories&lt;/code&gt;可以在标签、分类上进行体现&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
