04 2020 档案

摘要:前言 高可用手段有哪些? 主体概要 高可用的一些手段 总结 主体内容 一、高可用的一些手段 任务调度系统分布式:elastic job+zookeeper 主备切换:apache curator+zookeeper 分布式锁实现:比如线上有一台服务器,它特别重要,我们担心它出问题带来的影响太大,因此 阅读全文
posted @ 2020-04-20 22:26 mcbbss 阅读(254) 评论(0) 推荐(0)
摘要:前言 数据库为什么要切库?如何切库? 主体概要 数据库瓶颈 数据库切库 数据库的分表 主体内容 一、数据库瓶颈 单个数据库数据量太大(1 2T):多个库 单个数据库服务器压力太大,读写瓶颈:多个库 单个表数据量过大:分表 二、数据库切库和分库 现在大型的系统在数据库层面大多采用了读写分离技术,就是一 阅读全文
posted @ 2020-04-20 21:47 mcbbss 阅读(411) 评论(0) 推荐(0)
摘要:RSA+Base64加解密Java工具类RSAUtil(公钥和私钥请自行生成) key.properties(结尾加上“\”是为了换行识别) 大致用法: 阅读全文
posted @ 2020-04-20 10:14 mcbbss 阅读(1977) 评论(0) 推荐(0)
摘要:系统信息工具类SystemUtil 阅读全文
posted @ 2020-04-20 09:56 mcbbss 阅读(1144) 评论(0) 推荐(0)
摘要:字符工具类StringUtil 阅读全文
posted @ 2020-04-20 09:53 mcbbss 阅读(681) 评论(0) 推荐(0)
摘要:RSA非对称算法Java工具类RSAUtil(公钥和私钥需要自行生成) 阅读全文
posted @ 2020-04-20 09:48 mcbbss 阅读(1056) 评论(0) 推荐(0)
摘要:客户端http请求参数转换为集合工具 阅读全文
posted @ 2020-04-20 09:36 mcbbss 阅读(568) 评论(0) 推荐(0)
摘要:Base64加解密Java工具类 阅读全文
posted @ 2020-04-20 09:31 mcbbss 阅读(620) 评论(0) 推荐(0)
摘要:AES算法加解密Java工具类 阅读全文
posted @ 2020-04-20 09:29 mcbbss 阅读(451) 评论(0) 推荐(0)
摘要:前言 这一章节我们将讲解高并发解决方案中的服务降级和服务熔断思路,这里仅提供思路,至于如何具体操作,后续补上。 经历过12306抢票的会遇到这个问题,抢票高峰期查询列表是空的,等高峰期过后,列表再次恢复正常,这是什么问题?这里很可能采用了服务降级。 主体概要 服务降级和服务熔断概念 服务降级分类 服 阅读全文
posted @ 2020-04-19 22:09 mcbbss 阅读(231) 评论(0) 推荐(0)
摘要:前言 这一章节我们将讲解高并发解决方案中的应用限流思路。像我们之前讲的股票数据并没有把他们直接存放到数据库,而是放到Redis中,利用缓存保证用户能看到的数据的实时性和准确性。 主体概要 限流概念 应用限流示例 应用限流算法 主体内容 一、限流概念 限流就是通过对并发访问/请求进行限速或一个时间窗口 阅读全文
posted @ 2020-04-19 21:44 mcbbss 阅读(244) 评论(0) 推荐(0)
摘要:前言 这一章节我们将讲解高并发解决方案中的应用拆分思路,也可以称之为系统拆分。单个服务器再优化,它的处理都是有上限的,因此我们采用扩容、缓存、消息队列等对程序进行优化,这些手段都可行,但还不是全部。随着项目的需求要求越来越多,应用自然会跟着越来越大,因此呢,架构师设计出了特别容易扩展的方案,从整体将 阅读全文
posted @ 2020-04-19 17:19 mcbbss 阅读(396) 评论(0) 推荐(0)
摘要:前言 这一章节我们将讲解高并发解决方案中的队列。消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。 主体概要 高并发の消息队列基本介绍 消息队列特性 主体内容 一、高并发の消息队列基本介绍 1.例子 在购 阅读全文
posted @ 2020-04-19 02:15 mcbbss 阅读(1161) 评论(0) 推荐(0)
摘要:``` package cn.com.sparknet.AuthAPI.internal.v1.util; /** * 获取Web服务器 * @author chenxy * */ public class ServerDetector { private static ServerDetector instance = new ServerDetector(); private String s 阅读全文
posted @ 2020-04-17 10:38 mcbbss 阅读(349) 评论(0) 推荐(0)
摘要:前言 缓存是什么?缓存如何使用?何时该使用? 主体概要 高并发之缓存 特征、场景及组件介绍 高并发之缓存 redis的使用 高并发之缓存 高并发场景问题及实战 主体内容 一、高并发之缓存 特征、场景及组件介绍 1.以下是客户端请求数据的过程。 随着用户数量不断增加,服务器资源消耗增大,这时就需要引入 阅读全文
posted @ 2020-04-14 22:30 mcbbss 阅读(563) 评论(0) 推荐(0)
摘要:问题概要 我在研究volatile关键字应用场景的时候,无意中发现了while在多线程情况下出现了“非正常输出“的情况。 问题分析 这段代码的意义是创建两个线程,分别执行test1()方法和test2()方法,其中标识全局变量(也就是两个线程共享的变量)flag初始化为false;为了使步骤更加清晰 阅读全文
posted @ 2020-04-14 10:09 mcbbss 阅读(262) 评论(0) 推荐(0)
摘要:前言 高并发场景特别多,本文章将对高并发处理的主要扩容方向作分析,讲解部分实现,但是,不包括所有的高并发场景。 主体概要 扩容 主体内容 一、扩容 1.了解Java 内存结构的应该都知道 , 每个线程都有自己的工作内存, 占用内存大小取决于工作内存里变量的多少与大小 , 单个线程占用内存通常不会很大 阅读全文
posted @ 2020-04-09 22:16 mcbbss 阅读(764) 评论(0) 推荐(0)