- 博客(34)
- 收藏
- 关注
原创 Kubernetes 安装与部署
1.准备工作 # cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/y
2021-07-06 00:25:33
1312
原创 DockerFile常用命令
FROM 所谓定制镜像,那么就一定是以一个镜像为基础,在其上进行修改定制。而FROM就是指定基础镜像,因此在DockerFile中,FROM是必备指定,并且必需是第一条指令! COPY COPY指令将从上下文目录中的指定路径下的文件或文件夹复制到新的一层的镜像内的指定路径之下,格式为: COPY <源路径> … <目标路径> ADD ADD指令和COPY的格式和性...
2020-04-20 23:48:03
296
原创 Docker快速安装
第一步:从docker官网获取一个docker脚本 curl -fsSL get.docker.com -o get-docker.sh 第二步:从阿里云镜像仓库获取docker安装 sh get-docker.sh --mirror Aliyun 第三步:刷新系统配置文件,保证配置生效 systemctl daemon-reload 第四步:启动docker systemctl restart ...
2020-04-20 22:42:27
278
原创 SpringCloudRibbon负载均衡策略-七种策略
七种策略 RandomRule - 随性而为 从名字就能看出,这是个很随性的策略,随性到什么程度呢?它会从当前可用的服务节点中,随机挑选一个节点访问。使用了yield+自旋的方式做重试,还采用了严格的防御性编程。 RoundRobinRule - 按部就班 这个rule是RandomRule的亲兄弟,RandomRule是随性而为挑选节点,RobinRule却按部就班从一个节点一步一步地向后选取节...
2020-04-12 12:38:17
1684
转载 【SpringCloud源码解析】SpringCloud源码探秘之服务注册如何实现
1.SpringCloud如何通过一个注解实现服务注册 @EnableDiscoveryClient 类、方法调用流程: SpringApplicationBuilder.run() → SpringApplication.run() → refreshContext() → refresh() → AbstractApplicationContext.refresh() → Servlet...
2020-04-08 16:14:41
869
原创 XA和MyCat分布式事务问题
1.XA的两阶段提交 第一阶段: 第二阶段: 2.特点 保证数据的强一致性 commit阶段出现问题,事务出现不一致,需人工处理 效率低下,性能与本地事务相差10倍 Mysql5.7及以上均支持XA协议 Mysql Connector/J 5.0以上支持XA协议 Java系统中,数据源采用Atomikos 2.mycat分布式事务 1.将mycat的配置文件server.xml修改: 分布...
2020-04-01 22:29:12
865
原创 Mycat实现全局ID(两种方式)
第一种 本地文件方式(不推荐):将全局id放在本地文件中保存,方便快捷。缺点,重启的话就没了。但是可以我们在开发的时候使用,配置简单快捷。 1.修改mycat的server.xml文件 <property name="sequnceHandlerType">0</property> mycat官方文档说明该参数: 指定使用 Mycat 全局序列的类型。0 为本地文件方式...
2020-03-31 23:51:55
1117
原创 线程池的各种应用
1.自己实现多线程异步发送消息 /** 自定义线程executor,这里workQueue使用ArrayBlockQueue:是一个有界的阻塞队列,其内部是通过一个数组来维护的,该队列采用FIFO的原则对元素进行排序添加的。可以选用多种queue如:LinkedBlockingQuene、SynchronousQuene、PriorityBlockingQueue **/ private sta...
2020-03-31 16:55:19
321
1
原创 Mycat双主热备搭建高可用架构
1.Mycat架构 首先看一下单个mycat架构图,一个mycat下面分为两个分片,两个分片采用auto-sharding-long分片规则,0-1000w:分片1 1000w-2000w:分片2 。分片1又实现读写分离。 2.Mycat的HA 互联网时代对系统可靠性要求高; 避免单点故障 系统应用、数据库、缓存都是双节点 3.Mycat的HA的架构图 4,两台mycat确保配置信息一...
2020-03-30 14:27:50
631
原创 Mysql主从复制操作流程
MySql主从复制 1.主配置log-bin,指定文件的名字 在/etc/my.cnf 中添加一行 log-bin=kayak-mysql-log 2.主配置server-id,默认为1 在/etc/my.cnf中添加一行server-id=1 注意主从两台服务器的server-id不能相同 3.从配置server-id,与主不能重复 在/etc/my.cnf中添加一条server-i...
2020-03-30 10:35:45
288
原创 Mycat分库分表优缺点分析
垂直切分 按照业务区分 每种业务一种数据库 不同业务之间禁止使用跨库join连表查询 垂直切分的优点 拆分后业务清晰,拆分规则明确 系统之间容易扩展和整合 数据维护简单 垂直切分的缺点 部分业务表无法join,只能通过接口调用,提升了系统复杂性 跨库事务难以处理 垂直切分后某些业务数据过于庞大,仍然存在单体性能瓶颈 水平切分 将一张表的数据按照某种规则分到不同的数据库中 需确定分片的...
2020-03-26 23:55:29
3295
转载 浅析Linux中的零拷贝技术
引文 在写一个服务端程序时(Web Server或者文件服务器),文件下载是一个基本功能。这时候服务端的任务是:将服务端主机磁盘中的文件不做修改地从已连接的socket发出去,我们通常用下面的代码完成: while((n = read(diskfd, buf, BUF_SIZE)) > 0) write(sockfd, buf , n); 基本操作就是循环的从磁盘读入文件内容到缓冲区,再...
2020-03-19 17:47:27
209
原创 ES-6.6.0环境搭建
ES-6.6.0环境搭建: 三个节点解压elasticsearch-6.6.0.tar.gz tar -zxvf elasticsearch-6.6.0.tar.gz -C /usr/local/ 修改配置文件: vim elasticsearch-6.6.0/config/elasticsearch.yml elasticsearch.yml 配置 cluster.name: es_log_cl...
2020-03-09 00:41:57
949
原创 Filebeat 收集日志环境搭建
一、filebeat安装 cd /usr/local/software tar -zxvf filebeat-6.6.0-linux-x86_64.tar.gz -C /usr/local/ cd /usr/local mv filebeat-6.6.0-linux-x86_64/ filebeat-6.6.0 配置filebeat,可以参考filebeat.full.yml中的配置。 vim /...
2020-03-09 00:40:32
558
原创 RabbitMQ集群架构模式
1.主备模式 实现RabbitMQ的高可用集群,一般在并发和数据量不高的情况下,这种模型非常的好用且简单。主备模式也称之为Warren模式。就是一个主/备方案(如果主节点挂了,就让从节点提供服务,和activemq利用zookeeper做主/备一样) 规范,也就是Java消息服务,它定义了Java中访问消息中间件的接口的规范。在这里注意哦,JMS只是接口,并没有给予实现,实现JMS接口的消息中间件称为 “JMS Provider”,目前知名的开源 MOM (Message Oriented Middleware,也就是消息中间...
2020-01-19 15:31:20
1957
原创 Redis基础
redis 1.是什么? Redis是由ANSIC语言编写的,性能优秀,支持网络,可持久化的内存数据库,并支持多种语言的API。可以用作数据库,缓存,消息中间件 。 性能优秀,数据在内存中,读写速度非常快,支持并发10W+QPS; 丰富的数据类型,支持String,hash,list,set,zset等; 支持持久化。可以将内存中的数据保存在磁盘中,重启时加载; 主从复制哨兵,高可用; 可以作为...
2020-01-13 18:30:16
206
原创 J.U.C之线程池参数
线程池参数 Java线程池七个参数详解 首先来看一下ThreadPoolExecutor的构造方法,其中需要传入的7大参数分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler public ThreadPoolExecutor(int corePoolSize, ...
2019-12-23 17:36:21
301
原创 责任链模式
定义 使多个对象都有处理请求的机会,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象串成一条链,并沿着这条链一直传递该请求,直到有对象处理它为止。 责任链模式的重点在“链上”,由一条链去处理相似的请求,在链中决定谁来处理这个请求,并返回相应的结果。 角色 抽象处理者(Handler)角色:该角色对请求进行抽象,并定义一个方法来设定和返回对下一个处理者的引用。 具体处理者(Concrete ...
2019-12-17 00:03:46
210
原创 Java技术题目
每日一题 1.共识算法 对于业界比较常用的 共识算法有哪些? 说说他们的区别,以及实现理念,如:paxos、zab、raft;也可以重点聊聊下一代共识算法raft的实现 etcd、sofa jraft 、DLedger 等优秀的 基于raft的实现; ...
2019-12-11 11:26:54
456
原创 java学习计划
文章目录manven项目构建新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 manven项目构建 注意:在使用...
2019-12-11 11:22:48
295
原创 基础知识总结
基础知识 基础1:----------------------- JAVA基础 JDK 基础: 强引用、弱引用、虚引用、软引用 final关键字的作用 (方法、变量、类) 泛型、泛型继承、泛型擦除 jdk ServiceLoader LinkedList、LinkedHashMap、LRU 装饰者模式、代理模式、责任链模式、工厂模式、适配器模式、建造者模式、单例模式、模板模式、观察者模...
2019-12-09 17:57:11
313
原创 synchronized关键字
1.synchronized 底层实现 synchronized 同步语句块的实现使用的是 monitorenter 和 monitorexit 指令,其中 monitorenter 指令指向同步代码块的开始位置,monitorexit 指令则指明同步代码块的结束位置。当执行 monitorenter 指令时,线程试图获取锁也就是获取 monitor(monitor对象存在于每个Java对象的...
2019-11-16 16:37:01
242
原创 搭建apollo时遇到的问题【网络策略】
分布式部署的时候,apollo-configservice和apollo-adminservice需要把自己的IP和端口注册到Meta Server(apollo-configservice本身)。 Apollo客户端和Portal会从Meta Server获取服务的地址(IP+端口),然后通过服务地址直接访问。 需要注意的是,apollo-configservice和apollo-admin...
2019-07-30 17:35:25
2677
原创 交易系统的消息服务如何保证100%可靠
分布式应用中,消息系统被大量使用,主要原因有: 逻辑解耦 发送方和接收方不需要相互知道对方,一个只管发,一个只管收,大大简化了处理逻辑。 适配动态流量 如果发送方发送速度快于接收方的接收速度,消息系统就可以暂时将无法处理的消息缓存起来,让接收方慢慢处理。 没有消息系统时,发送方就不得不配合接收方降低处理速度,从而拖慢了整个系统的性能。 那么消息系统能保证消息100%可靠到达吗? 答案...
2019-06-14 10:37:01
576
转载 MVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
Spring1.过滤器: 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据. 比如:在过滤器中修改字符编码;在过滤器中修改 HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等 关于过滤器的一些用法可以参考我写过...
2018-07-01 17:01:50
810
转载 Java内存溢出详解及解决方案
本文是引用的慕课网作者: qq_fighting_283709032 的文章,旨在自己留下一点笔记作为参考。 链接:https://www.imooc.com/article/23001?block_id=tuijian_wz https://www.imooc.com/article/23001?block_id=tuijian_wz https://www.imooc.com/article
2018-01-28 01:15:37
432
原创 ElasticSearch
一、结构 元数据(metadata): _index : 文档存储的地方 _type : 文档代表的对象的类 _id : 文档的唯一标识 _source : 自己定义的文档原始数据 { _index : "anthony", _type : "user", _source:{ "email": "anthony@163.com", "name": "anthony", "i
2018-01-11 23:29:23
289
原创 Velocity模板工具类
package cn.anthony.velocity; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWri
2018-01-11 01:09:08
1229
原创 商品无限级菜单设计总结
一、商品类型表 二、java实现查询出商品类别的所有子节点 1.1 递归(效率太低) /** * 通过递归获取分类树(数据量大时,效率低) * * @param pid * @return */ public List getAllProductTypesByRes(Long id) { List children = mapper.getChil
2018-01-11 00:00:20
801
原创 java 短信接口开发
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class Se
2015-11-12 19:28:37
1867
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅