<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[阿东的博客]]></title><description><![CDATA[IT大牛代码重用]]></description><link>https://blog.csdn.net/qq_21873747</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_21873747]]></copyright><item><title><![CDATA[百万并发分布式架构]]></title><link>https://blog.csdn.net/qq_21873747/article/details/115866729</link><guid>https://blog.csdn.net/qq_21873747/article/details/115866729</guid><author>qq_21873747</author><pubDate>Mon, 19 Apr 2021 16:01:44 +0800</pubDate><description><![CDATA[第14章百万并发架构

课程目标

1、Sentinel

1)Sentinel介绍

2)Sentinel核心功能

3)Sentinel集成Gateway

4)Sentinel控制台



2、Lvs+Nginx集群

1)Lvs负载均衡模式








- NAT模式


- TUN模式


- DR模式

2)Lvs+Nginx集群实现













1 Sentinel

Sentinel主页https://github.com/alibaba/Sentin...]]></description><category></category></item><item><title><![CDATA[set 100万条数据只要3秒钟，怎么做到的？]]></title><link>https://blog.csdn.net/qq_21873747/article/details/115712567</link><guid>https://blog.csdn.net/qq_21873747/article/details/115712567</guid><author>qq_21873747</author><pubDate>Wed, 14 Apr 2021 23:28:17 +0800</pubDate><description><![CDATA[set 100万条数据只要3秒钟，怎么做到的？





批量操作




]]></description><category></category></item><item><title><![CDATA[双指针]]></title><link>https://blog.csdn.net/qq_21873747/article/details/115712421</link><guid>https://blog.csdn.net/qq_21873747/article/details/115712421</guid><author>qq_21873747</author><pubDate>Wed, 14 Apr 2021 23:23:44 +0800</pubDate><description><![CDATA[双指针



有这样一道题:

存水问题




package com.andong.demo.双指针.存水问题;

/**
 * @Author andong
 * @Date: 2021/04/10/21:36
 * 存水问题
 * @Description:
 */
public class TrappingRainWater {

    public i...]]></description><category></category></item><item><title><![CDATA[Leaf—美团点评分布式ID生成系统]]></title><link>https://blog.csdn.net/qq_21873747/article/details/115712382</link><guid>https://blog.csdn.net/qq_21873747/article/details/115712382</guid><author>qq_21873747</author><pubDate>Wed, 14 Apr 2021 23:18:05 +0800</pubDate><description><![CDATA[Leaf——美团点评分布式ID生成系统

背景

在复杂分布式系统中，往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中，数据日渐增长，对数据分库分表后需要有一个唯一ID来标识一条数据或消息，数据库的自增ID显然不能满足需求；特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。概括下来，那业务系统对ID号的要求有哪些呢？

全局唯一性：不能出现重复的ID号，既然是唯一标识，这是最基本的要求。
	趋势递增：在]]></description><category></category></item><item><title><![CDATA[算法之-栈区间最大值]]></title><link>https://blog.csdn.net/qq_21873747/article/details/115712308</link><guid>https://blog.csdn.net/qq_21873747/article/details/115712308</guid><author>qq_21873747</author><pubDate>Wed, 14 Apr 2021 23:14:48 +0800</pubDate><description><![CDATA[算法之-栈区间最大值








package com.andong.demo.stack.区间最大值;

import java.util.Stack;

/**
 * @Author andong
 * @Description: 
 * 数组：区间和
 * 栈：下标 大的话 出栈
 */
public class ByteDanceEx1 {
    public static void main(String[]...]]></description><category></category></item><item><title><![CDATA[算法之手写LRU缓存]]></title><link>https://blog.csdn.net/qq_21873747/article/details/115712214</link><guid>https://blog.csdn.net/qq_21873747/article/details/115712214</guid><author>qq_21873747</author><pubDate>Wed, 14 Apr 2021 23:11:51 +0800</pubDate><description><![CDATA[算法之手写LRU缓存





解决：

双向链表+hash表









Get没有值直接返回-1，有值的情况下，get到位置，移除当前前后关系，把当前元素后移。




/**代码实现**/
package com.andong.demo.LinkList.双向链表LRU缓存;

import java.util.HashMap;
import java.util.Map;

/**
 * @Aut...]]></description><category></category></item><item><title><![CDATA[RabbitMq 消息中间件问题]]></title><link>https://blog.csdn.net/qq_21873747/article/details/115712116</link><guid>https://blog.csdn.net/qq_21873747/article/details/115712116</guid><author>qq_21873747</author><pubDate>Wed, 14 Apr 2021 23:06:21 +0800</pubDate><description><![CDATA[RabbitMq 消息中间件问题

分布式场景下如何确保并发的幂等性（不重复消费）？

数据库唯一索引
	先select后insert方案
	基于redis分布式锁或者zookeeper分布式锁（一般选择）


MQ使用场景

削锋填谷

例如

每个订单下单-扣减库存-扣减积分活动-扣减活动预算这个活动时间耗费太长

调用链路太长影响接口性能，其次分布式事务问题很难处理。

这时我们就需要对实时一致性要...]]></description><category></category></item><item><title><![CDATA[angular-bootstrap-datetimepicker时间控件添加清除按钮控件]]></title><link>https://blog.csdn.net/qq_21873747/article/details/107359064</link><guid>https://blog.csdn.net/qq_21873747/article/details/107359064</guid><author>qq_21873747</author><pubDate>Wed, 15 Jul 2020 14:16:18 +0800</pubDate><description><![CDATA[1.准备工作

首先我们得下载号这几个文件：

 

2.修改源码

需要修改bootstrap-datetimepicker.min.js，找到data-today-btn对应加一行如下：


this.todayBtn=(i.todayBtn||this.element.data("date-today-btn")||false);
this.clearBtn=(i.clearBtn||this.element.data("date-clear-btn")||false);//update by ...]]></description><category></category></item><item><title><![CDATA[Linux 磁盘扩容]]></title><link>https://blog.csdn.net/qq_21873747/article/details/107281685</link><guid>https://blog.csdn.net/qq_21873747/article/details/107281685</guid><author>qq_21873747</author><pubDate>Sat, 11 Jul 2020 11:10:10 +0800</pubDate><description><![CDATA[查看磁盘情况

df：主要是检查文件系统磁盘占用情况
du：主要是检查磁盘空间占用情况
fdisk：一般用来磁盘分区，也可以用来查看磁盘分区情况
lsblk：命令用于列出所有可用块设备的信息
lsblk









fdisk /dev/sdb

























partprobe -s





pvcreate /dev/sdb1





vgextend centos /dev/sdb1









lvextend -L +11...]]></description><category></category></item><item><title><![CDATA[MongoDB安装]]></title><link>https://blog.csdn.net/qq_21873747/article/details/104755137</link><guid>https://blog.csdn.net/qq_21873747/article/details/104755137</guid><author>qq_21873747</author><pubDate>Mon, 09 Mar 2020 16:24:49 +0800</pubDate><description><![CDATA[在linux上使用tar包安装：

1.将tar安装包解压到/usr/local/bin/文件夹下面，修改文件夹名称为mongodb:

tar zxvf xxx.tar

mv xxxx mongodb



2.新建数据库文件存放文件夹和记录日志文件：

mkdir -p /data/mongo/db /data/mongo/logs/mongo.log



3.将MongoDB安装路径...]]></description><category></category></item><item><title><![CDATA[通过中间件方式实现IE代理]]></title><link>https://blog.csdn.net/qq_21873747/article/details/104752291</link><guid>https://blog.csdn.net/qq_21873747/article/details/104752291</guid><author>qq_21873747</author><pubDate>Mon, 09 Mar 2020 14:38:16 +0800</pubDate><description><![CDATA[通过中间件方式实现IE代理



1.脚本：


			C:\Windows\System32\cmd.exe /C setlocal disabledelayedexpansion &amp; &gt;IEproxy.bat echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v Pr...]]></description><category></category></item><item><title><![CDATA[Redis集群搭建]]></title><link>https://blog.csdn.net/qq_21873747/article/details/104751260</link><guid>https://blog.csdn.net/qq_21873747/article/details/104751260</guid><author>qq_21873747</author><pubDate>Mon, 09 Mar 2020 13:56:04 +0800</pubDate><description><![CDATA[Redis集群搭建

在Centos7.5上多台宿主机使用docker部署redis集群的过程，redis集群一般需要6台redis服务器,使用docker可以节省服务器资源，除开放主从6379和6380端口外还得开放集群总线端口，集群总线端口为red...]]></description><category></category></item><item><title><![CDATA[F5 BIG-IP Controller for Kubernetes]]></title><link>https://blog.csdn.net/qq_21873747/article/details/104749370</link><guid>https://blog.csdn.net/qq_21873747/article/details/104749370</guid><author>qq_21873747</author><pubDate>Mon, 09 Mar 2020 11:57:54 +0800</pubDate><description><![CDATA[有两种方式：

Nodeport mode：





Cluster mode：





F5 VE 版本是按订阅收费，分为 GOOD BETTER BEST 三种套餐，Cluster Mode 必须购买 BETTER 及 BEST 以上套餐。

BIG-IP VE modules are available in Good, Better, and Best (GBB) lice...]]></description><category></category></item><item><title><![CDATA[spring注解@EnableAsync@Async实现多线程]]></title><link>https://blog.csdn.net/qq_21873747/article/details/86571731</link><guid>https://blog.csdn.net/qq_21873747/article/details/86571731</guid><author>qq_21873747</author><pubDate>Mon, 21 Jan 2019 17:03:24 +0800</pubDate><description><![CDATA[                     spring注解@EnableAsync@Async实现多线程

 

通过spring给我们提供的ThreadPoolTaskExecutor就可以使，例子如下：

首先定义配置类


package com.andong.spring.test;
import java.util.concurrent.Executor;
import org.spri...]]></description><category></category></item><item><title><![CDATA[mac下使用git创建repository上传到github]]></title><link>https://blog.csdn.net/qq_21873747/article/details/82635006</link><guid>https://blog.csdn.net/qq_21873747/article/details/82635006</guid><author>qq_21873747</author><pubDate>Wed, 12 Sep 2018 00:15:28 +0800</pubDate><description><![CDATA[第一步：安装git程序

git客户端程序地址：https://git-scm.com/download/mac


 

 
打开安装包，如下图操作




然后按照提示，下一步下一步，直到安装完成。


 

 
打开终端，输入命令：git --version ，测试是否安装成功 。




第二步：创建SSH

步骤一：在终端输入命令：cd ~/.ssh


如果出现 -bash: cd: ...]]></description><category></category></item><item><title><![CDATA[java文件断点续传的简单实现]]></title><link>https://blog.csdn.net/qq_21873747/article/details/80943720</link><guid>https://blog.csdn.net/qq_21873747/article/details/80943720</guid><author>qq_21873747</author><pubDate>Fri, 06 Jul 2018 17:09:09 +0800</pubDate><description><![CDATA[                            java文件断点续传的简单实现所谓的文件断点续传，我的理解是文件在传输过程中因为某些原因程序停止运行文件终止传输，下一次重新传输文件的时候还能从上一次传输的位置开始传输，而不需要重新从头开始。文件传输的过程分为发送方和接收方，最终我的思路是这样的：传输开始之前发送方先向接收方发送一个确认信息，然后再向接收方发送准备发送的文件的文件名接收方收到...]]></description><category></category></item><item><title><![CDATA[史上最详cxf-Springmvc-maven实现webservice教程]]></title><link>https://blog.csdn.net/qq_21873747/article/details/80672039</link><guid>https://blog.csdn.net/qq_21873747/article/details/80672039</guid><author>qq_21873747</author><pubDate>Tue, 12 Jun 2018 22:18:45 +0800</pubDate><description><![CDATA[﻿﻿史上最详cxf-Springmvc-maven实现webservice教程				 2016.11.18 14.16						 22828浏览					 								 字号								 大字中字小字						 			 虽知道webservice，工作两年一直没使用过，最近不忙趁机研究了下，实现了简单的服务端及客户端调用。鉴于慕课网没有webservice的教程，大多又都是学生，就在...]]></description><category></category></item><item><title><![CDATA[mysql分库分区分表]]></title><link>https://blog.csdn.net/qq_21873747/article/details/80668939</link><guid>https://blog.csdn.net/qq_21873747/article/details/80668939</guid><author>qq_21873747</author><pubDate>Tue, 12 Jun 2018 18:42:24 +0800</pubDate><description><![CDATA[1.分库分区分表概念分区    就是把一张表的数据分成N个区块，在逻辑上看最终只是一张表，但底层是由N个物理区块组成的分表    就是把一张数据量很大的表按一定的规则分解成N个具有独立存储空间的实体表。系统读写时需要根据定义好的规则得到对应的字表明，然后操作它。表名可以按照某种业务hash进行映射。分库    一旦分表，一个库中的表会越来越多2.实现    2.1分区的实现方式（简单）    my...]]></description><category></category></item><item><title><![CDATA[BIO与NIO、AIO的区别(这个容易理解)]]></title><link>https://blog.csdn.net/qq_21873747/article/details/80668330</link><guid>https://blog.csdn.net/qq_21873747/article/details/80668330</guid><author>qq_21873747</author><pubDate>Tue, 12 Jun 2018 17:19:52 +0800</pubDate><description><![CDATA[IO的方式通常分为几种，同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO     在JDK1.4出来之前，我们建立网络连接的时候采用BIO模式，需要先在服务端启动一个ServerSocket，然后在客户端启动Socket来对服务端进行通信，默认情况下服务端需要对每个请求建立一堆线程等待请求，而客户端发送请求后，先咨询服务端是否有线程相应，如果没有则会一直等待或者遭到拒绝请求，如...]]></description><category></category></item><item><title><![CDATA[ActiveMQ]]></title><link>https://blog.csdn.net/qq_21873747/article/details/80449647</link><guid>https://blog.csdn.net/qq_21873747/article/details/80449647</guid><author>qq_21873747</author><pubDate>Fri, 25 May 2018 11:44:48 +0800</pubDate><description><![CDATA[1. JMS JMS消息结构 ActiveMQ消息发送和接收java例子Pom依赖jar包有：   &amp;lt;dependency&amp;gt;   &amp;lt;groupId&amp;gt;org.apache.activemq&amp;lt;/groupId&amp;gt;   &amp;lt;artifactId&amp;gt;activemq-core&amp;lt;/artifactId&amp;gt;   &amp;lt;version&amp;gt;5.5.1&amp;lt...]]></description><category></category></item></channel></rss>