架构师进阶之路
编程界的彭于晏
这个作者很懒,什么都没留下…
展开
-
SpringCloud最新组件介绍
服务注册中心:Eureka:2018年Eureka2.x闭源,不再推荐使用Zookeeper:3年前的系统部分公司用zookeeper+dubbo做微服务,当然zookeeper也可以作为springcloud的注册中心,可以使用consul:go语言编写的优秀的注册中心组件,可以使用Nacos:阿里巴巴开发的注册中心,完美替换Eureka,能承受百万级并发量的注册,强烈推荐使用负载均...原创 2020-03-08 19:25:35 · 2164 阅读 · 0 评论 -
SpringBoot整合Mybatis(最全版)
文章目录1.搭建项目环境1.1新建项目1.2 引入依赖1.3 添加yml配置文件1.4 创建实体类实现业务流程1.5 添加启动类1.6 执行sql脚本2.整合Mybatis的注解版(mysql数据库)方式一:通过注解方式+下划线转驼峰配置接收返回结果方式二:通过纯注解方式3.整合Mybatis的xml版(mysql数据库)方式一:返回结果使用resultType接收+下划线转驼峰配置接收返回结果方...原创 2020-01-13 17:08:35 · 375 阅读 · 0 评论 -
Nginx实现四层协议的负载均衡
1.nginx+keepalived简单双机主从热备lvs+keepalived+nginx实现高性能负载均衡集群架构流程图( 基于Nginx1.9以上版本)双机主从热备概述 可以两台机子互为热备,平时各自负责各自的服务。在做上线更新的时候,关闭一台服务器的tomcat后,nginx自动把流量切换...原创 2020-01-07 15:23:26 · 690 阅读 · 0 评论 -
Http动态负载均衡
Http动态负载均衡什么是动态负载均衡传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件,因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstream可配置化、动态化,无需人工重新加载nginx.conf。这类似分布式的配置中心动态负载均衡实现方案Consul+Consul-template每次发现配置更改需要raload ngi...原创 2020-01-06 13:28:57 · 602 阅读 · 0 评论 -
Nginx配置故障转移
当上游服务器(真实访问服务器),一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务器,保证服务器的高可用。Nginx配置故障转移代码如下:worker_processes 1;events { worker_connections 1024;}http { i...原创 2019-12-31 14:29:00 · 794 阅读 · 2 评论 -
Nginx负载均衡
文章目录1.什么是负载均衡2.负载均衡带来的问题3.负载均衡算法3.1轮询(默认)3.2weight(轮询权值)3.3ip_hash(ip绑定)3.4fair(第三方)3.5url_hash(第三方)4.配置负载均衡(轮询)5.配置负载均衡(权重)6.配置负载均衡(IP绑定)1.什么是负载均衡 负载均...原创 2019-12-31 14:03:50 · 124 阅读 · 0 评论 -
Nginx配置反向代理
1.反向代理的作用 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。2.反向代理的主要应用 &n...原创 2019-12-31 10:48:51 · 183 阅读 · 0 评论 -
nginx安装
1.安装gcc gcc-c++(如新环境,未安装请先安装)[root@lzh ~]# yum install -y gcc gcc-c++2.安装wget[root@lzh ~]# yum -y install wget3.安装PCRE库[root@lzh ~]# cd /usr/local/[root@lzh local]# wget http://jaist.dl.sourc...原创 2019-12-28 11:25:31 · 207 阅读 · 0 评论 -
重入锁
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized(重量级) 和 ReentrantLock(轻量级)等等 ) 。这些已经写好提供的锁为我们开发提供了便利。 重入锁,...原创 2019-12-26 11:24:00 · 96 阅读 · 0 评论 -
Java线程池
文章目录1.使用线程池的好处2.线程池的作用3.Executor 框架3.1 简介3.2 Executor 框架结构(主要由三大部分组成)3.2.1 任务(Runnable /Callable)3.2.2 任务的执行(Executor)3.2.3异步计算的结果(Future)3.3 Executor 框架的使用示意图4.ThreadPoolExecutor类简单介绍(重要)5.线程池的创建方式5....原创 2019-12-20 16:36:19 · 246 阅读 · 0 评论 -
Volatile关键字
1.什么是Volatile ThreadLocal可见性也就是说一旦某个线程修改了该被volatile修饰的变量,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,可以立即获取修改之后的值。 Thr...原创 2019-12-19 15:20:05 · 103 阅读 · 0 评论 -
Threadlocal
文章目录1.什么是Threadlocal2.ThreadLocal的接口方法3.ThreadLocal示例4.ThreadLocal 内存泄露问题5.ThreadLocal原理1.什么是Threadlocal ThreadLocal提高一个线程的局部变量,访问某个线程拥有自己局部变量。 &...原创 2019-12-19 13:38:05 · 151 阅读 · 0 评论 -
多线程死锁
1.什么是死锁?死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。2.死锁产生的原因1.因为系统资源不足。2.进程运行推进的顺序不合适。3.资源分配不当。产生死锁的条件有四个:1.互斥条件:所谓互斥就是进程在某一时间内独占资源。2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。3.不剥夺条...原创 2019-12-18 16:03:31 · 183 阅读 · 0 评论 -
多线程线程安全问题
1.为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。 经典案例——抢火车票:需求现在有100...原创 2019-12-13 15:44:00 · 305 阅读 · 0 评论 -
多线程快速入门
1.线程与进程1.1何为进程 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。如下图所示,在 windows 中通过查看任务管理器的方式,我们就可以清楚看到 window 当前运行的进程(.exe 文件的运行)。1.2何...原创 2019-12-13 13:26:38 · 109 阅读 · 0 评论