Dead Line–2021总结
“当你老了,回顾一生,就会发觉:什么时候出国读书、什么时候决定做第一份职业、何时选定了对象而恋爱、什么时候结婚,其实都是命运的巨变。只是当时站在三岔路口,眼见风云千樯,你作出抉择的那一日,在日记上,相当沉闷和平凡,当时还以为是生命中普通的一天。但一场巨变,已经发生了,地动山移,浑然不觉,当时只道是寻常。”
陶杰 《杀鹌鹑的少女》
1.消失的2021
2021年,对我而言,是没有锚点的一个年度,彷佛一切都存在于2020,2020奥运会,2020的节奏,2020的疫情,生活粘稠得像麦芽糖,只有时光一往无前,只有不断收到的朋友结婚请柬,在提醒着我,时间,又过...
认识微服务
微服务是系统架构的一种设计风格,将一个原本独立的服务拆分成多个小型服务,每个服务独立运行在在各自的进程中,服务之间通过 HTTP RESTful API 进行通信.每个小型的服务都围绕着系统中的某个耦合度较高的业务进行构建。
微服务是一种经过良好设计的分布式架构方案,而全球的互联网公司都在积极尝试自己的微服务落地方案。其中在java领域最引人注目的是SpringCloud提供的方案。
单一职责:微服务拆分粒度更小,每个服务都应对唯一的业务能力,做到单一职责
自治:团队独立、技术独立、数据独立,独立部署和交付
面向服务:服务提供统一标准的接口,与语言无关、与技术无关
隔离性...
1. Mysql主从复制介绍MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库(master,即主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方工具。
二进制日志:
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL的主从复制, 就是通过该bi...
使用Markdown语法写文章这是从掘金抄的。一份简要的 Markdown 引导指南,希望可以帮助您顺利的开始使用 Markdown 编辑器。
丰富的快捷键本 Markdown 编辑器支持丰富的格式快捷键,可以非常便捷、轻松的使用 Markdown 语言,形成优美的排版和内容格式。
支持的快捷键有:
加粗: Ctrl/Cmd + B
标题: Ctrl/Cmd + H
插入链接: Ctrl/Cmd + K
插入代码: Ctrl/Cmd + Shift + C
行内代码: Ctrl/Cmd + Shift + K
插入图片: Ctrl/Cmd + Shift + I
无序列表: Ctrl/...
简单介绍redis
Redis是 C 编写的,高性能非关系型数据库。
Redis 键只能为字符串,值支持五种数据类型:string、has、list、set、zset。
Redis 的数据存在内存中的,读写速度非常快, redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。
支持数据持久化,支持AOF(Append Only File)和RDB(Redis DataBase)两种持久化方式。
支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。
Redis 也经常用来做分布式锁和分布式事务。
不能用作海量数据的高性能读写
...
0. 基于Redis集群解决单机Redis存在的问题单机的Redis存在四大问题:
数据丢失问题–解决:实现redis数据持久化
并发能力问题–解决:搭建主从集群,实现读写分离
故障恢复问题–解决:利用redis哨兵,实现健康检测和自动恢复
存储能力问题–解决:搭建分片集群,利用插槽机制实现动态扩容
1. Redis持久化Redis有两种持久化方案:
RDB持久化
AOF持久化
1.1 RDB持久化RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障...
多线程-并发②16. 数据并发操作可能的问题?
丢失的修改
不可重复读,读第二次,数据就不对了
读脏数据
幻影读
17. 消息等待通知wait/notify具体的应用
一个线程修改了一个对象的值,另外一个线程需要感知到这个变化
Java中我们使用的对象锁以及wait/notify方法进行线程通信
等待方遵循的原则:
获取对象的锁
不满足条件 就调用wait()方法
条件满足继续执行
通知方原则:
获取对象的锁
改变条件, 然后notify
18. 线程池中 submit() 和 execute() 方法有什么区别?
execute() 参数 Runna...
多线程-并发①1.Java中的锁
乐观锁/悲观锁
共享锁/独享锁
公平锁/非公平锁
互斥锁/读写锁
可重入锁
自旋锁
分段锁
偏向锁/轻量级锁/重量级锁
2. Java线程的状态|生命周期
Java的线程状态被定义在公共枚举类java.lang.Thread.state中。一种有六种状态
新建(NEW):表示线程新建出来还没有被启动的状态,比如:Thread t = new MyThread();
就绪/运行(RUNNABLE):该状态包含了经典线程模型的两种状态:就绪(Ready)、运行(Runnin...
1. nginx介绍
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。nginx官网
2. 安装一般推荐安装在linux服务器,其他操作系统可查看官网网站
2.1 联网使用包管理器安装方式最简单即使用包管...
Proxmox VEProxmox VE(PVE),开源虚拟化解决方案,如果觉得VMware的ESXI过于庞大复杂,可以尝试以下,普通PC就可安装,支持分布式。据说基于KVM,操作系统是万能的Debian。
官网:https://www.proxmox.com/en/
中文社区:https://www.proxmox.wiki/
很多资料都可以在社区找到,安装也及其简单快捷,只需下载镜像,刻录到U盘,在需要安装的主机引导U盘启动,安装镜像的安装指导,一步一步安装即可,安装成功后,在界面会有管理网址弹出,直接web访问管理网址即可。目前的版本是6.4,开源产品,迭代还是很快的,据说是采用的...