Skip to content

Commit

Permalink
Site updated: 2023-07-28 01:54:58
Browse files Browse the repository at this point in the history
  • Loading branch information
wulongtao committed Jul 28, 2023
1 parent 20304f1 commit ad28ba8
Show file tree
Hide file tree
Showing 16 changed files with 2,761 additions and 2,686 deletions.
7 changes: 6 additions & 1 deletion about/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<meta property="og:description" content="小小黑的技术屋">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2023-07-01T23:10:33.000Z">
<meta property="article:modified_time" content="2023-07-22T02:16:15.781Z">
<meta property="article:modified_time" content="2023-07-28T01:54:41.431Z">
<meta property="article:author" content="xxiaohei">
<meta name="twitter:card" content="summary">

Expand Down Expand Up @@ -382,6 +382,11 @@ <h1 class="p-name article-title" itemprop="headline name">
<div class="e-content article-entry" itemprop="articleBody">


<div id="toc">

</div>



</div>

Expand Down
7 changes: 6 additions & 1 deletion articles/Hexo/Hexo搭建个人网站(一)/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ <h3 class="widget-title">最新文章</h3>
<div class="article-gallery">
<div class="article-gallery-photos">

<a class="article-gallery-img" rel="gallery_clkddpsbb0001h4owgqvs09hj">
<a class="article-gallery-img" rel="gallery_clklxl5dw0001gwp159hjfvwq">
<img src="/articles/Hexo/Hexo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99%EF%BC%88%E4%B8%80%EF%BC%89/cover.jpg" itemprop="image">
</a>

Expand Down Expand Up @@ -398,6 +398,11 @@ <h1 class="p-name article-title" itemprop="headline name">
</header>
<div class="e-content article-entry" itemprop="articleBody">


<div id="toc">
<ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C"><span class="toc-text">准备工作</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#github%E9%85%8D%E7%BD%AE"><span class="toc-text">github配置</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Hexo%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AE"><span class="toc-text">Hexo安装和配置</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%9B%B4%E6%8D%A2%E4%B8%BB%E9%A2%98%EF%BC%88%E9%87%8D%E7%82%B9%EF%BC%89"><span class="toc-text">更换主题(重点)</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#Live2D%E5%8A%A8%E7%94%BB%E6%8C%82%E4%BB%B6%E9%85%8D%E7%BD%AE"><span class="toc-text">Live2D动画挂件配置</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%8A%A0%E5%BC%BA%E7%89%88Live2D%E5%8A%A8%E7%94%BB%E6%8C%82%E4%BB%B6%E9%85%8D%E7%BD%AE"><span class="toc-text">加强版Live2D动画挂件配置</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%BC%80%E5%90%AF%E8%AF%84%E8%AE%BA%E5%8A%9F%E8%83%BD"><span class="toc-text">开启评论功能</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%83%A8%E7%BD%B2"><span class="toc-text">部署</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%8F%91%E5%B8%83%E6%96%87%E7%AB%A0"><span class="toc-text">发布文章</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%86%99%E5%8D%9A%E5%AE%A2%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9"><span class="toc-text">写博客注意事项</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%9B%BE%E7%89%87%E6%98%BE%E7%A4%BA"><span class="toc-text">图片显示</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%91%98%E8%A6%81"><span class="toc-text">摘要</span></a></li></ol></li></ol>
</div>

<p>本文将介绍如何使用Hexo搭建个人网站,看完后可以搭建一个本地的Hexo个人网站,并且提供一些实用的配置。<span id="more"></span></p>
<h2 id="准备工作"><a href="#准备工作" class="headerlink" title="准备工作"></a>准备工作</h2><p>git账号、nodejs环境</p>
<blockquote>
Expand Down
7 changes: 6 additions & 1 deletion articles/Hexo/Hexo搭建个人网站(二)/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ <h3 class="widget-title">最新文章</h3>
<div class="article-gallery">
<div class="article-gallery-photos">

<a class="article-gallery-img" rel="gallery_clkddpsbg0003h4ow9ag1hxo0">
<a class="article-gallery-img" rel="gallery_clklxl5e10003gwp1ey4z97oc">
<img src="/articles/Hexo/Hexo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99%EF%BC%88%E4%BA%8C%EF%BC%89/cover.jpg" itemprop="image">
</a>

Expand Down Expand Up @@ -398,6 +398,11 @@ <h1 class="p-name article-title" itemprop="headline name">
</header>
<div class="e-content article-entry" itemprop="articleBody">


<div id="toc">
<ol class="toc"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C"><span class="toc-text">准备工作</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E9%85%8D%E7%BD%AESSH"><span class="toc-text">配置SSH</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E9%85%8D%E7%BD%AE-hexo-deployer-git"><span class="toc-text">配置 hexo-deployer-git</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%8D%9A%E5%AE%A2%E4%BB%93%E5%BA%93%E2%80%94%E2%80%94%E7%BC%96%E5%86%99Workflow"><span class="toc-text">博客仓库——编写Workflow</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E9%83%A8%E7%BD%B2%E4%BB%93%E5%BA%93%E2%80%94%E2%80%94%E5%9C%A8GitHub%E7%9A%84Page%E9%A1%B5%E9%9D%A2%E9%85%8D%E7%BD%AEWorkFlow%E5%B0%B1%E5%A5%BD"><span class="toc-text">部署仓库——在GitHub的Page页面配置WorkFlow就好</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%8C%E6%88%90"><span class="toc-text">完成</span></a></li></ol>
</div>

<p>本文介绍如何利用Github Action把Hexo项目部署到Github上,并且实现提交本地代码后,自动部署并发布到Github Pages上,而不需要使用hexo d命令发布那么繁琐。</p>
<span id="more"></span>

Expand Down
7 changes: 6 additions & 1 deletion articles/Spring/WebFlux学习笔记(一)/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ <h3 class="widget-title">最新文章</h3>
<div class="article-gallery">
<div class="article-gallery-photos">

<a class="article-gallery-img" rel="gallery_clkddpsbm0007h4owesyd4au7">
<a class="article-gallery-img" rel="gallery_clklxl5e60007gwp1d4s4acy0">
<img src="/articles/Spring/WebFlux%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%88%E4%B8%80%EF%BC%89/cover.png" itemprop="image">
</a>

Expand Down Expand Up @@ -398,6 +398,11 @@ <h1 class="p-name article-title" itemprop="headline name">
</header>
<div class="e-content article-entry" itemprop="articleBody">


<div id="toc">
<ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%A6%82%E4%BD%95%E7%90%86%E8%A7%A3-Spring-Webflux-%E7%9A%84%E3%80%8C%E9%9D%9E%E9%98%BB%E5%A1%9E%E3%80%8D"><span class="toc-text">如何理解 Spring Webflux 的「非阻塞」</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%BA%90%E7%A0%81%E8%A7%A3%E8%AF%BB"><span class="toc-text">源码解读</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%BE%E4%BE%8B%E8%AF%B4%E6%98%8E"><span class="toc-text">举例说明</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%83%8C%E5%8E%8B-Back-Pressure-%E4%B8%8E%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6"><span class="toc-text">背压(Back Pressure)与流量控制</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%B5%81%E6%8E%A7%E7%AD%96%E7%95%A5"><span class="toc-text">流控策略</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%97%A0%E9%99%90%E7%BC%93%E5%86%B2%E4%B8%8D%E5%8F%AF%E8%A1%8C"><span class="toc-text">无限缓冲不可行</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E8%83%8C%E5%8E%8B"><span class="toc-text">如何实现背压</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%97%A0%E5%A4%84%E4%B8%8D%E5%9C%A8%E7%9A%84%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6"><span class="toc-text">无处不在的流量控制</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%83%8C%E5%8E%8B%E4%B8%8E-async"><span class="toc-text">背压与 async</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%83%8C%E5%8E%8B%E6%80%BB%E7%BB%93"><span class="toc-text">背压总结</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#webflux%E8%83%8C%E5%8E%8B%E7%AD%96%E7%95%A5"><span class="toc-text">webflux背压策略</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99"><span class="toc-text">参考资料</span></a></li></ol>
</div>

<h2 id="如何理解-Spring-Webflux-的「非阻塞」"><a href="#如何理解-Spring-Webflux-的「非阻塞」" class="headerlink" title="如何理解 Spring Webflux 的「非阻塞」"></a>如何理解 Spring Webflux 的「非阻塞」</h2><p>对前端是一样的,但是对后端的性能利用就不一样了,对比thread的sleep方法和webflux的delay方法,就可以知道它的非阻塞原理是什么,又是好在哪里。</p>
<p>反应式编程一开始是从前端和客户端开始兴起,现在大有蔓延到后端的趋势,Spring5推出的webflux就是反应式编程的产物。</p>
<p>webflux对比于springMVC,性能高出很多(只针对高并发的情况),网上已经有很多的测评,不再在过多说明。</p>
Expand Down
7 changes: 6 additions & 1 deletion articles/SpringCloud/Nacos学习笔记/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ <h3 class="widget-title">最新文章</h3>
<div class="article-gallery">
<div class="article-gallery-photos">

<a class="article-gallery-img" rel="gallery_clkddpsbo0009h4ow8d948scn">
<a class="article-gallery-img" rel="gallery_clklxl5e80009gwp1evcbdm0d">
<img src="/articles/SpringCloud/Nacos%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/cover.png" itemprop="image">
</a>

Expand Down Expand Up @@ -399,6 +399,11 @@ <h1 class="p-name article-title" itemprop="headline name">
</header>
<div class="e-content article-entry" itemprop="articleBody">


<div id="toc">
<ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#Nacos%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E6%A8%A1%E5%9D%97"><span class="toc-text">Nacos服务发现模块</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B"><span class="toc-text">数据模型</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%9A%94%E7%A6%BB%E6%A8%A1%E5%9E%8B"><span class="toc-text">隔离模型</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%9A%E4%B9%89%E6%9C%8D%E5%8A%A1"><span class="toc-text">定义服务</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9C%8D%E5%8A%A1%E5%85%83%E6%95%B0%E6%8D%AE"><span class="toc-text">服务元数据</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%9A%E4%B9%89%E5%AE%9E%E4%BE%8B"><span class="toc-text">定义实例</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AE%9E%E4%BE%8B%E5%85%83%E6%95%B0%E6%8D%AE"><span class="toc-text">实例元数据</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%B4%E6%97%B6%E5%AE%9E%E4%BE%8B%E5%92%8C%E6%8C%81%E4%B9%85%E5%8C%96%E5%AE%9E%E4%BE%8B"><span class="toc-text">临时实例和持久化实例</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E9%9B%86%E7%BE%A4%EF%BC%88cluster%EF%BC%89"><span class="toc-text">集群(cluster)</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%95%B0%E6%8D%AE%E4%B8%80%E8%87%B4%E6%80%A7"><span class="toc-text">数据一致性</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1"><span class="toc-text">负载均衡</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5"><span class="toc-text">健康检查</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%B8%B4%E6%97%B6%E5%AE%9E%E4%BE%8B%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5%E6%9C%BA%E5%88%B6"><span class="toc-text">临时实例健康检查机制</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%B0%B8%E4%B9%85%E5%AE%9E%E4%BE%8B%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5%E6%9C%BA%E5%88%B6"><span class="toc-text">永久实例健康检查机制</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E9%9B%86%E7%BE%A4%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%9A%84%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5%E6%9C%BA%E5%88%B6"><span class="toc-text">集群模式下的健康检查机制</span></a></li></ol></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#Nacos%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86%E6%A8%A1%E5%9D%97"><span class="toc-text">Nacos配置管理模块</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%85%8D%E7%BD%AE%E4%B8%80%E8%87%B4%E6%80%A7%E6%A8%A1%E5%9E%8B"><span class="toc-text">配置一致性模型</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#Server-%E9%97%B4%E7%9A%84%E2%BC%80%E8%87%B4%E6%80%A7%E5%8D%8F%E8%AE%AE"><span class="toc-text">Server 间的⼀致性协议</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9C%89-DB-%E6%A8%A1%E5%BC%8F%EF%BC%88%E8%AF%BB%E5%86%99%E5%88%86%E7%A6%BB%E6%9E%B6%E6%9E%84%EF%BC%89"><span class="toc-text">有 DB 模式(读写分离架构)</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%97%A0-DB-%E6%A8%A1%E5%BC%8F"><span class="toc-text">无 DB 模式</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#SDK-%E4%B8%8E-Server-%E7%9A%84%E2%BC%80%E8%87%B4%E6%80%A7%E5%8D%8F%E8%AE%AE"><span class="toc-text">SDK 与 Server 的⼀致性协议</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#Nacos-1-X"><span class="toc-text">Nacos 1.X</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#Nacos-2-X"><span class="toc-text">Nacos 2.X</span></a></li></ol></li></ol></li></ol></li></ol>
</div>

<p>本文主要内容是我看完Nacos架构&amp;原理做的一些笔记,学习的版本是Nacos2.x。<span id="more"></span></p>
<h1 id="Nacos服务发现模块"><a href="#Nacos服务发现模块" class="headerlink" title="Nacos服务发现模块"></a>Nacos服务发现模块</h1><h2 id="数据模型"><a href="#数据模型" class="headerlink" title="数据模型"></a>数据模型</h2><p>Nacos 在经过内部多年生产经验后提炼出的数据模型,则是⼀种服务-集群-实例的三层模型。</p>
<p><img src="/articles/SpringCloud/Nacos%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/image1.png" alt="image1.png"></p>
Expand Down
7 changes: 6 additions & 1 deletion articles/SpringCloud/Nacos源码阅读与实战/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ <h3 class="widget-title">最新文章</h3>
<div class="article-gallery">
<div class="article-gallery-photos">

<a class="article-gallery-img" rel="gallery_clkddpsbp000bh4owa8mb81qy">
<a class="article-gallery-img" rel="gallery_clklxl5ea000bgwp18jy332ie">
<img src="/articles/SpringCloud/Nacos%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB%E4%B8%8E%E5%AE%9E%E6%88%98/cover.png" itemprop="image">
</a>

Expand Down Expand Up @@ -399,6 +399,11 @@ <h1 class="p-name article-title" itemprop="headline name">
</header>
<div class="e-content article-entry" itemprop="articleBody">


<div id="toc">
<ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%B3%A8%E5%86%8C%E6%BA%90%E7%A0%81%E8%A7%A3%E8%AF%BB"><span class="toc-text">客户端注册源码解读</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB"><span class="toc-text">服务端源码阅读</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%A4%84%E7%90%86%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%93%BE%E6%8E%A5%E8%AF%B7%E6%B1%82"><span class="toc-text">服务端处理客户端链接请求</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%A4%84%E7%90%86Distro%E8%AF%B7%E6%B1%82"><span class="toc-text">服务端处理Distro请求</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E5%8A%A0%E8%BD%BD%E6%BA%90%E7%A0%81"><span class="toc-text">配置中心加载源码</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%8A%A0%E8%BD%BD%E9%A1%BA%E5%BA%8F%E6%BA%90%E7%A0%81"><span class="toc-text">配置文件加载顺序源码</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#Nacos%E9%83%A8%E7%BD%B2%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98"><span class="toc-text">Nacos部署遇到的一些问题</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%95%B0%E6%8D%AE%E5%BA%93%E9%93%BE%E6%8E%A5%E4%B8%8D%E4%B8%8A%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%88No-Database-Set%EF%BC%89"><span class="toc-text">数据库链接不上的问题(No Database Set)</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%9C%AC%E5%9C%B0Nacos%E6%BA%90%E7%A0%81%E5%90%AF%E5%8A%A8%E6%8A%A5%E9%94%99"><span class="toc-text">本地Nacos源码启动报错</span></a></li></ol></li></ol>
</div>

<p>本文主要内容是对于部分源码的理解还有在使用Nacos时遇到的一些问题汇总。<span id="more"></span></p>
<p>对于阅读源码,我的思路是先找到一些注册成功的日志,然后打断点,看整个调用链路。</p>
<h1 id="客户端注册源码解读"><a href="#客户端注册源码解读" class="headerlink" title="客户端注册源码解读"></a>客户端注册源码解读</h1><p>在NacosServiceRegistry类的注册完成日志的代码打个断点,我们可以看到项目启动后的整个调用链路。</p>
Expand Down
Loading

0 comments on commit ad28ba8

Please sign in to comment.