<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cyd_0619的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cyd_0619</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cyd_0619]]></copyright><item><title><![CDATA[Shopify 店长，别再被“订单去哪了”困住——用 BestTrack 轻松追踪物流]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/163501843</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/163501843</guid><author>cyd_0619</author><pubDate>Wed, 05 Aug 2026 12:51:52 +0800</pubDate><description><![CDATA[摘要：BestTrack优化物流管理体验 BestTrack提供一站式物流看板解决方案，集中管理海量订单状态，同时为顾客提供品牌化自助查询服务。其核心价值在于：统一监控物流动态，减少80%客服工单；通过品牌化通知增强用户信任；在查询页面植入智能商品推荐，创造二次销售机会。该工具将企业从重复性物流咨询中解放，把更多精力投入业务增长，实现从查询到转化的闭环管理。]]></description><category></category></item><item><title><![CDATA[一篇文章带你读懂MySQL的事务机制原理]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/118654151</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/118654151</guid><author>cyd_0619</author><pubDate>Sun, 18 Jul 2021 15:02:24 +0800</pubDate><description><![CDATA[一、事务
1.1 多事务并发执行访问MySQL
  通常而言，我们都是在业务系统里开启事务来执行增删改操作，我随便给大家举个例子，下面的代码大家看看。
@Transactional
public void doService() {
	// 增加一条数据
	addUser();
	// 更新一条数据
	updateUser();
	// 删除一条数据
	deleteUser();
}

  所以一般来说，业务系统是执行一个一个的事务，每个事务里可能是一个或者多个增删改查的SQL语句。
  这个事务的概念想必]]></description><category></category></item><item><title><![CDATA[一篇文章带你读懂MySQL的InnoDB存储引擎Buffer Pool原理]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/118422674</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/118422674</guid><author>cyd_0619</author><pubDate>Sun, 11 Jul 2021 14:37:19 +0800</pubDate><description><![CDATA[一个不变的原则：网络连接必须让线程来处理

一条SQL语句的执行
  MySQL内部的工作线程从一个网络连接中取出来一个SQL语句，然后交给SQL接口去执行SQL语句，SQL接口将SQL语句交给查询解析器去解析SQL，解析完SQL，查询解析器再将SQL语句交给查询优化器，去获取一个最优的执行计划，最后交由执行器，执行器根据这个执行计划去调用存储引擎的接口，完成SQL语句的执行。
一、InnoDB存储引擎
1.1 基于InnoDB存储引擎完成一条更新语句的执行
更新语句：update users set na]]></description><category></category></item><item><title><![CDATA[JVM运行原理以及垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/118229985</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/118229985</guid><author>cyd_0619</author><pubDate>Sat, 26 Jun 2021 16:55:13 +0800</pubDate><description><![CDATA[一、Java代码运行流程
1.1 Java程序运行流程
  我们平时写的代码究竟是怎么运行起来的？我们简单看一下一个 Java 程序的执行过程，它到底是如何运行起来的？


我们写好的代码，是要通过JVM才能运行的。
编译，也就是将我们写好的.java代码编译成.class文件，.class字节码文件才是可以被运行起来的。
JVM 想要运行.class字节码文件中的代码，首先要把.class文件中包含的各种类加载进来，此时用到了类加载器。
JVM采用类加载器把编译号的.class字节码文件加载到JVM内存中]]></description><category></category></item><item><title><![CDATA[Redis集群搭建]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/115691996</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/115691996</guid><author>cyd_0619</author><pubDate>Wed, 14 Apr 2021 14:28:46 +0800</pubDate><description><![CDATA[1. 集群搭建需要的环境

Redis集群至少需要3个节点，因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了，所以2个节点无法构成集群。
要保证集群的高可用，需要每个节点都有从节点，也就是备份节点，所以Redis集群至少需要6台服务器。因为我没有那么多服务器，也启动不了那么多虚拟机，所在这里搭建的是伪分布式集群，即一台服务器虚拟运行6个redis实例，修改端口号为（7001-7006），当然实际生产环境的Redis集群搭建和这里是一样的。

2. 集群搭建具体步骤如下（注意要关闭防火墙）
（1]]></description><category></category></item><item><title><![CDATA[MySQL主从同步及MHA高可用架构搭建]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/114933451</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/114933451</guid><author>cyd_0619</author><pubDate>Wed, 17 Mar 2021 23:22:22 +0800</pubDate><description><![CDATA[1. 环境软件版本




环境&amp;软件
版本




虚拟机&amp;VMware Workstation
WorkStation 10


服务器&amp;CentOS
7.8


数据库&amp;Mysql
5.7.28


远程连接&amp; MobaXterm_Personal_10.5
10.5


2. 环境架构介绍
架构如图所示，4台机器的IP和角色如下表：




IP
角色
权限




192.168.43.127
数据库Master
可读写、主库


192.168.43.21]]></description><category></category></item><item><title><![CDATA[MySQL高级系列（四）—— MySQL集群架构]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/114578729</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/114578729</guid><author>cyd_0619</author><pubDate>Tue, 09 Mar 2021 20:12:17 +0800</pubDate><description><![CDATA[第1节 集群架构设计
1.1 架构设计理念
在集群架构设计时，主要遵从下面三个维度：

可用性
扩展性
一致性

1.2 可用性设计

站点高可用，冗余站点
服务高可用，冗余服务
数据高可用，冗余数据

保证高可用的方法是冗余。但是数据冗余带来的问题是数据一致性问题。
实现高可用的方案有以下几种架构模式：

主从模式
简单灵活，能满足多种需求。比较主流的用法，但是写操作高可用需要自行处理。
双主模式
互为主从，有双主双写、双主单写两种方式，建议使用双主单写

1.3 扩展性设计
扩展性主要围绕着读操作扩展和]]></description><category></category></item><item><title><![CDATA[MySQL高级系列（三）—— MySQL事务和锁]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/113697820</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/113697820</guid><author>cyd_0619</author><pubDate>Sun, 21 Feb 2021 21:37:17 +0800</pubDate><description><![CDATA[第三部分 MySQL事务和锁
第1节 ACID 特性
  在关系型数据库管理系统中，一个逻辑工作单元要成为事务，必须满足这 4 个特性，即所谓的 ACID：原子性（Atomicity）、一致性（Consistency）、隔离性（Isolation）和持久性（Durability）。
1.1 原子性
原子性：事务是一个原子操作单元，其对数据的修改，要么全都执行，要么全都不执行。
修改—》Buffer Pool修改—》刷盘。可能会有下面两种情况：

事务提交了，如果此时Buffer Pool的脏页没有刷盘，如何]]></description><category></category></item><item><title><![CDATA[MySQL高级系列（二）—— MySQL索引原理]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/113662635</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/113662635</guid><author>cyd_0619</author><pubDate>Mon, 15 Feb 2021 10:14:18 +0800</pubDate><description><![CDATA[第二部分 MySQL索引原理
第1节 索引类型
索引可以提升查询速度，会影响where查询，以及order by排序。MySQL索引类型如下：

从索引存储结构划分：B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引
从应用层次划分：普通索引、唯一索引、主键索引、复合索引
从索引键值类型划分：主键索引、辅助索引（二级索引）
从数据存储和索引键值逻辑关系划分：聚集索引（聚簇索引）、非聚集索引（非聚簇索引）

1.1 普通索引
  这是最基本的索引类型，基于普通字段建立的索引，没有任何限]]></description><category></category></item><item><title><![CDATA[MySQL高级系列（一）—— MySQL架构原理]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/113627509</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/113627509</guid><author>cyd_0619</author><pubDate>Sat, 13 Feb 2021 11:27:54 +0800</pubDate><description><![CDATA[第一部分 MySQL架构原理
第1节 MySQL体系架构

MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。
一、网络连接层

客户端连接器（Client Connectors）：提供与MySQL服务器建立的支持。目前几乎支持所有主流的服务端编程技术，例如常见的 Java、C、Python、.NET等，它们通过各自API技术与MySQL建立连接。

二、服务层（MySQL Server）
  服务层是MySQL Server的核心，主要包含系统管理和控制工具、连接池]]></description><category></category></item><item><title><![CDATA[Dubbo架构与入门实战]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/111187210</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/111187210</guid><author>cyd_0619</author><pubDate>Wed, 23 Dec 2020 14:27:32 +0800</pubDate><description><![CDATA[1、Dubbo 架构概述
1.1 什么是Dubbo
  Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源Java RPC框架，可以和Spring框架无缝集成。
1.2 dubbo 的特性
  Apache Dubbo 提供了六大核心能力：面向接口代理的高性能RPC调用，智能容错和负载均衡，服务自动注册和发现，高度可扩展能力，运行期流量调度，可视化的服务治理与运维。

1.3 Dubbo 的服务治理
  服务治理（SOA governance），企]]></description><category></category></item><item><title><![CDATA[Zookeeper深入进阶]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/110880618</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/110880618</guid><author>cyd_0619</author><pubDate>Tue, 22 Dec 2020 09:48:05 +0800</pubDate><description><![CDATA[1. Zookeeper深入进阶
1.1 ZAB协议
1.1.1 概念
  在深入了解zookeeper之前，很多同学可能会认为zookeeper就是paxos算法的⼀个实现，但事实上，zookeeper并没有完全采用paxos算法，而是使⽤了⼀种称为Zookeeper Atomic Broadcast（ZAB，Zookeeper原子消息广播协议）的协议作为其数据⼀致性的核心算法。
  ZAB协议并不像Paxos算法那样 是⼀种通用的分布式⼀致性算法，它是⼀种特别为zookeeper专门设计的⼀种支持崩溃恢]]></description><category></category></item><item><title><![CDATA[Zookeeper六种常见应用场景]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/110852875</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/110852875</guid><author>cyd_0619</author><pubDate>Wed, 09 Dec 2020 09:49:31 +0800</pubDate><description><![CDATA[1. Zookeeper应用场景
  ZooKeeper是⼀个典型的发布/订阅模式的分布式数据管理与协调框架，我们可以使用它来进行分布式数据的发布与订阅。另一方面，通过对ZooKeeper中丰富的数据节点类型进行交叉使用，配合Watcher事件通知机制，可以非常方便地构建⼀系列分布式应用中都会涉及的核心功能，如数据发布/订阅、命名服务、集群管理、Master选举、分布式锁和分布式队列等。那接下来就针对这些典型的分布式应用场景来做下介绍。
1.1 数据发布/订阅
  数据发布/订阅（Publish/Subsc]]></description><category></category></item><item><title><![CDATA[Zookeeper简介、安装、基本使用]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/110294967</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/110294967</guid><author>cyd_0619</author><pubDate>Tue, 08 Dec 2020 10:23:31 +0800</pubDate><description><![CDATA[1. Zookeeper简介
1.1 分布式系统定义及面临的问题
  ZooKeeper最为主要的使用场景，是作为分布式系统的分布式协同服务。
  我们将分布式系统定义为：分布式系统是同时跨越多个物理主机，独立运行的多个软件所组成系统。类比⼀下，分布式系统就是一群人一起干活。人多力量大，每个服务器的能力是有限的，但是通过分布式系统，由n个服务器组成起来的集群，能力是可以无限扩张的。
  优点显而易见，人多干活快，并且互为备份。但是缺点也很明显。我们可以想象⼀下，以⼀个小研发团队开发软件为例，假设我们有⼀个5]]></description><category></category></item><item><title><![CDATA[基于Netty自定义RPC]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/110082941</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/110082941</guid><author>cyd_0619</author><pubDate>Sat, 28 Nov 2020 13:21:12 +0800</pubDate><description><![CDATA[一、基于Netty自定义RPC
RPC又称远程过程调用，我们所知的远程调用分为两种，现在在服务间通信的方式也基本以这两种为主：

是基于HTTP的restful形式的广义远程调用，以spring could的feign和restTemplate为代表，采用的协议是HTTP的7层调用协议，并且协议的参数和响应序列化基本以JSON格式和XML格式为主。
是基于TCP的狭义的RPC远程调用，以阿里的Dubbo为代表，主要通过netty来实现4层网络协议，NIO来异步传输，序列化也可以是JSON或者hessian2]]></description><category></category></item><item><title><![CDATA[分布式架构之网络通信]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/110043751</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/110043751</guid><author>cyd_0619</author><pubDate>Thu, 26 Nov 2020 09:13:31 +0800</pubDate><description><![CDATA[一、分布式架构网络通信
  在分布式服务框架中，一个最基础的问题就是远程服务是怎么通讯的，在Java领域中有很多可实现远程通讯的技术，例如：RMI、Hessian、SOAP、ESB和JMS等，它们背后到底是基于什么原理实现的呢？
1.1 基本原理
  要实现网络机器间的通讯，首先得来看看计算机系统网络通信的基本原理，在底层层面去看，网络通信需要做的就是将流从一台计算机传输到另外一台计算机，基于传输协议和网络IO来实现，其中传输协议比较出名的有tcp、udp等等，tcp、udp都是在基于Socket概念上为某]]></description><category></category></item><item><title><![CDATA[MyBatis基础回顾及高级应用]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/109494150</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/109494150</guid><author>cyd_0619</author><pubDate>Wed, 25 Nov 2020 11:16:05 +0800</pubDate><description><![CDATA[一、Mybatis相关概念
1.1 对象/关系数据库映射（ORM）
  ORM全称Object/Relation Mapping：表示对象-关系映射的缩写
  ORM完成面向对象的编程语言到关系数据库的映射。当ORM框架完成映射后，程序员既可以利用面向对象程序设计语言的简单易用性，又可以利用关系数据库的技术优势。ORM把关系数据库包装成面向对象的模型。ORM框架是面向对象设计语言与关系数据库发展不同步时的中间解决方案。采用ORM框架后，应用程序不再直接访问底层数据库，而是以面向对象的放松来操作持久化对象，而]]></description><category></category></item><item><title><![CDATA[Tomcat 核心流程源码分析]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/109517886</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/109517886</guid><author>cyd_0619</author><pubDate>Tue, 24 Nov 2020 19:12:25 +0800</pubDate><description><![CDATA[一、源码构建
1.1 下载源码

1.2 源码导入IDE之前准备工作

解压 tar.gz 压缩包，得到目录 apache-tomcat-8.5.50-src
在 apache-tomcat-8.5.59-src 源码目录下创建  source 文件夹
将 conf、webapps 目录移动到刚刚创建的 source 文件夹中
在 apache-tomcat-8.5.59-src 源码目录下创建 pom.xml 文件，文件内容如下：

&lt;?xml version="1.0" encoding="UTF]]></description><category></category></item><item><title><![CDATA[分布式理论与设计策略]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/109909442</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/109909442</guid><author>cyd_0619</author><pubDate>Tue, 24 Nov 2020 09:47:40 +0800</pubDate><description><![CDATA[第1章 分布式理论
1.1 分布式架构系统回顾
1.1.1 分布式系统概念
  分布式系统是一个硬件或软件组件分布在不同的网络计算机上，彼此之间仅仅通过消息传递进行通信和协调的系统。
  通俗的理解，所谓分布式系统，就是一个业务拆分成多个子业务，分布在不同的服务器节点，共同构成的系统称为分布式系统，同一个分布式系统中的服务器节点在空间部署上是可以随意分布的，这些服务器可能放在不同的机柜中，也可能在不同的机房中，甚至分布在不同的城市。

Tip：
分布式与集群的区别：

集群：多个人在一起作同样的事 。
分布]]></description><category></category></item><item><title><![CDATA[分布式集群架构场景化解决方案]]></title><link>https://blog.youkuaiyun.com/cyd_0619/article/details/109669521</link><guid>https://blog.youkuaiyun.com/cyd_0619/article/details/109669521</guid><author>cyd_0619</author><pubDate>Sat, 21 Nov 2020 21:23:01 +0800</pubDate><description><![CDATA[分布式和集群
  分布式和集群是不⼀样的，分布式⼀定是集群，但是集群不⼀定是分布式（因为集群就是多个实例⼀起工作，分布式将⼀个系统拆分之后那就是多个实例；集群并不⼀定是分布式，因为复制型的集群不是拆分而是复制）

第一部分 一致性Hash算法
1.1 什么是Hash算法
百度百科对Hash的解释：

Hash算法简介

Hash算法可以将一个数据转换为一个标志，这个标志和源数据的每一个字节都有十分紧密的关系。Hash算法还具有一个特点，就是很难找到逆向规律。
Hash算法是一个广义的算法，也可以认为是一种思]]></description><category></category></item></channel></rss>