- 博客(12)
- 资源 (14)
- 收藏
- 关注
原创 fastdfs高可用集群安装
fastdfs高可用集群安装 机器规划 storage group1:192.168.56.111/112(集群,同一个group的内容会完整的在两台机器各自存一份),每台机器上安装nginx group2:192.168.56.113/114(集群,同一个group的内容会完整的在两台机器各自存一份),每台机器上安装nginx tracker tracker:192.168.56.115/116(集群),每台机器上都需要安装nginx LVS LVS:192.168.56.117–>本案例
2020-06-14 21:12:02
555
原创 hive安装
Hive安装 hive的安装有三种模式: 直接使用内置的内存数据库Derby来安装 使用关系型数据库(mysql)作为元数据存储来安装 使用mateServer+mysql来安装 远程关系型数据库安装 部署结构图 安装步骤 hadoop相关环境需要先安装 安装mysql 使用yum安装mysql服务 yum install mysql-server -y 如果出现没有可用软件包 mysql-server错误的时候,则需要添加mysql社区的yum源 wget http://repo.mysq
2022-05-23 17:29:38
471
原创 多线程与高并发之CyclicBarrier
多线程与高并发之CyclicBarrier CyclicBarrier主要用于实现,当某一个线程需要等待其他多个线程执行完某些操作之后才开始执行。CyclicBarrier初始化了一个基数的数量,然后各个线程执行完某些操作之后,调用await方法进入等待状态,当等待的进程数量等于初始化的数量的时候,所有的线程将重新激活继续执行。CycliBarrier就跟名字一样他就是各个线程的障碍,只有全部线程到齐之后才能跨过这个障碍。 需求背景 10个运动员,不同时间到体育场比赛,所有运动员到了之后就
2020-05-28 11:10:13
446
原创 多线程与高并发之CountDownLatch
多线程与高并发之CountDownLatch CountDownLatch主要是用于当某个线程需要等待其他线程执行完某些操作之后再执行。CountDownLatch初始化了一个计数数量,每个线程在执行完某些操作之后,调用countdown方法实现计数器-1的操作,当计数器等于0的时候就会触发在await那个线程。 需求 假设团队有4个成员,一个是leader,3个是开发工程师,leader每天会在3个人完成当日工作的时候去review他们的代码。 实现方式 设计两个类,一个是Leader
2020-05-28 11:05:22
300
原创 深入浅出Web应用负载均衡
深入浅出Web应用负载均衡 原始模式 假设我们有一个java开发的系统A,我们将其部署在一台服务器上,在初期用户量不大的情况下,单机跑着没有任何问题,当用户量越来越大,系统出现大量的并发直接将系统搞挂掉的情况。这个时候我们可能会将服务器的配置升级,但是过一段时间用户量更大了,最后大量的并发还是把系统搞挂了。我们除了提升服务器配置的解决方案还有没有其他的解决方案呢?答案肯定是有。一台服务器处理不过来我们是不是可以让N台服务器来处理呢?这个时候我们就要请出我们第一位大神nginx。 Nginx
2020-05-24 14:05:11
885
原创 多线程与高并发之线程死锁
线程死锁 需求背景 还是两个线程模拟卖火车票的场景,不过这个时候我们加上一些别的控制,来让程序产生死锁的现象,先上代码: public class ThreadTest02 implements Runnable { private static Integer count = 100; private Object obj = new Object(); public boolean flag = true; @Override public void ru
2020-05-22 16:55:41
323
原创 多线程与高并发之线程安全
线程安全 需求 使用两个线程模拟火车站两个窗口同时买票的场景 初步实现方案 定义一个全局变量count=100,定义一个线程run方法中实现买票的模拟操作(count–),最后在测试方法中定义两个线程并启动,实现买票操作;代码如下: public class ThreadTest01 implements Runnable { private Integer count = 10; private Object obj = new Object(); public void r
2020-05-22 16:51:23
367
原创 浅谈设计模式之策略模式
浅谈设计模式之策略模式 什么是策略模式 策略模式是指针对同一个行为定义不同的算法(或者操作),而且这些算法都可以相互替换,对于使用者来说可以不关心具体的算法实现,让算法独立于使用它的客户。 举例实现 需求 假如我们有一个会员系统系统,同一间商品不同的会员等级有不同的会员折扣,比如: 钻石会员:8折 铂金会员:8.5折 黄金会员:9折 白银会员:9.5折 普通会员:不打折 类图 代码实现 具体商品iphone类: public class Iphone { private BigDecimal
2020-05-18 16:51:51
192
原创 浅谈设计模式之责任链模式
浅谈设计模式之责任链模式 责任链模式主要是解决请求端和多个接收端之间的耦合,比如原来一个请求进来需要多个接受者进行处理,如果把这些接收者串在一起形成一个链条,然后统一交给一个中间人去管理,这样就达到请求者和接受者直接的耦合。下面我们通过servlet中经典的过滤器例子来解释责任链模式。 模拟servlet中的filter **需求:**模拟http请求到具体的controller之前,进行请求过滤,通过过滤器进行对请求进行加工或者判断。我们这边模拟两个过滤器,一个是Url过滤器,一个jwt
2020-05-13 18:04:22
150
原创 LVS+keepalive+nginx集群环境搭建
LVS+keepalive+nginx集群环境搭建 安装nginx 我们在106、107两台机器上安装nginx nginx安装(使用yum安装)步骤: 新增nginx官网的yum安装源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装nginx yum install -y nginx 启动Nginx并设置开机自动运行 s
2020-05-12 19:16:32
561
原创 浅谈设计模式之工厂模式
浅谈设计模式之工厂模式 工厂模式主要的作用,用于创建单一、某一类、某一产品族对象。使用工厂模式,创建对象的的时候不会为创建者暴露任何的创建逻辑,而只是提供统一的创建接口。这样比直接new有什么好处呢?好处就是在new一个复杂对象的时候,你可以不用管了,只是直接调用工厂类来创建你想要的对象。 简单工厂 需求: 生产一辆汽车,汽车可能是捷豹、宝马、奔驰等 实现: 抽象一个产品车,宝马、奔驰等继承车这个产品;然后用一个工厂来生成具体的车。 类图结构: 代码实现: Car类 public clas
2020-05-09 17:04:24
186
原创 浅谈设计模式之单例模式
Singleton 什么叫单例模式 单例模式:指一个类不想让别人直接new出来,有且只能被new一次 单例模式的写法 饿汉式 饿汉式的写法是最简单且线程安全的模式,唯一的问题就是在没有用的时候这个对象也会提前new出来 public class SingletonIdler { private final static SingletonIdler INSTANCE = new Sing...
2020-05-06 19:21:37
200
EditPlus破解版
2019-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅