- 博客(18)
- 收藏
- 关注
原创 基于Docker搭建Kafka集群
确保以安装Docker,若未安装,可参照Docker入门与安装(CentOS环境)一、安装步骤启动zookeeper输入以下命令:docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper启动一个zookeeper容器,名称为zookeeper,映射端口号为2181启动多个Kafka节点首先,启动第一个Kafka容器,输入以下命令:docker run -d --name kafka -p 9092:
2020-06-13 16:48:19
518
原创 kafka初识篇
一、概述Kafka是由LinkedIn公司采用Scala语言开发的一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现已被捐献给Apache基金会。Kafka可以跨越多个数据中心,在一个或多个服务器上以集群的方式运行,其将记录流存储在称为topic的类别中,每个记录由一个键,一个值和一个时间戳组成。二、基本概念一个典型的 Kafka 体系架构包括若干 Producer、若干 Broker、若干 Consumer,以及一个ZooKeeper集群。1. Topic和Partition
2020-06-05 23:54:37
625
原创 《Docker技术入门与实战》学习笔记——Docker安全机制
容器自身所提供的隔离性只是相对的,并没有虚拟机那样完善。因此,必须对容器内应用进行严格的安全审查。同时从容器层面来看,容器即应用,原先保障应用安全的各种手段,都可以合理地借鉴利用。一、命名空间隔离的安全当用docker run命令启动一个容器时,Docker将在后台为容器创建一个独立的命名空间。命名空间提供了最基础也是最直接的隔离,在容器中运行的进程不会被运行在本地主机上的进程和其他容器通过正常渠道发现和影响。容器默认可以与本地主机网络连通,当容器需要与外界进行通信时,需要通过本地主机的网桥接口(do
2020-06-04 23:52:42
249
原创 《Docker技术入门与实战》学习笔记——Docker核心技术
一、架构概述Docker是标准的C/S架构,可以划分为三个部分:服务端客户端镜像仓库客户端和服务端既可以运行在一个机器上,也可通过socket或者RESTful API来进行通信dockerd:为客户端提供RESTful API,响应来自客户端的请求,采用模块化的架构,通过专门的Engine模块来分发管理各个来自客户端的任务docker-proxy:是dockerd的子进程,当需要进行容器端口映射时,docker-proxy完成网络映射配置containerd:是dockerd的子进程
2020-05-28 23:41:47
259
原创 Java并发编程学习笔记——volatile与synchronized关键字原理及使用
Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。1.简述volatile是轻量级的synchronized,其在多处理器开发中保证了共享变量的“可见性”。可见性:当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。2.实现原理Java代码最终都是需要转化为汇编指令在CPU上进行运行的。有volatile变量修饰的共享变量进行写操作的时候会多出第二行
2020-05-16 00:11:12
234
原创 Apache Druid简介
一、简介Apache Druid是一个实时分析数据库,旨在对大型数据集进行快速的切片和分析(“ OLAP ”查询)。二、常用领域点击流分析(网络和移动分析)网络遥测分析(网络性能监控)服务器指标存储供应链分析(制造指标)应用程序性能指标数字营销/广告分析商业智能/ OLAP三、主要功能列式存储格式。Druid使用面向列的存储,这意味着它仅需要加载特定查询所需的确切列。这...
2020-05-07 23:46:08
647
原创 Docker容器操作命令实战
1.创建容器相关命令#创建一个容器,容器处于停止状态,通常使用-it选项创建docker create [OPTIONS] NAME[:TAG]#启动一个容器docker start [OPTIONS] NAME[:TAG]#查看正在运行的容器,加上-as参数获取所有创建容器的信息docker ps#创建并启动一个容器docker run [OPTIONS] NAME[:TAG]...
2020-04-25 23:07:28
231
原创 Docker镜像操作命令实战
1.获取镜像镜像是运行容器的前提,官方的Docker Hub网站已经提供了数十万个镜像供大家开放下载。获取镜像命令docker pull [Docker Registry 地址[:端口号]/] NAME[:TAG]NAME:镜像仓库名称(用来区分镜像)TAG:镜像的标签(往往用来表示版本信息),若不指定TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像。可选参数:...
2020-04-19 21:24:49
368
原创 Docker入门与安装(CentOS环境)
一、什么是DockerDocker是基于Go语言实现的开源容器项目,可以将Docker容器理解为一种轻量级的沙盒(sandbox)。每个容器内运行着一个应用,不同的容器相互隔离,容器之间也可以通过网络互相通信。其构想是要实现“Build, Ship and Run Any App, Anywhere”,即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deploy...
2020-04-19 12:19:38
157
原创 设计模式之禅学习笔记——工厂方法模式
工厂方法模式一、定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。二、类图三、通用模板代码...
2020-04-19 10:48:44
153
原创 设计模式之禅学习笔记——单例模式
单例模式一、定义单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。二、类图三、通用模板代码public class Singleton{ private static final Singleton singleton = new Singleton(); private Singleton(){ } public...
2020-04-12 23:24:35
206
1
原创 《深入理解Java虚拟机》学习笔记——垃圾收集(GC)
Java内存运行区域中,程序计数器、虚拟就栈、本地方法栈是属于线程私有,故在方法或线程结束的时候,内存也就跟着回收了。垃圾收集(Garbage Collection,GC)器主要关注的Java堆及方法区的内存,这部分的内存是动态分配和回收的,只有在程序运行期间才会知道创建了哪些对象。一、对象是否存活1.引用计数法简述:给每个对象一个引用计数器,每当有地方引用时就加1 ,当引用失效时减1,当计...
2020-01-01 18:59:08
140
原创 Redis常用对象
一、Redis对象类型Redis的对象系统中包含五种类型的对象:字符串对象、列表对象、哈希对象、集合对象和有序集合对象。每种对象都由一种或多种数据结构实现,从而争对不同的应用场景,优化对象在不同场景下的使用效率。Redis使用基于引用计数法的内存回收机制。...
2019-12-15 18:15:03
191
原创 Hadoop简介
一、Hadoop简介Hadoop是由apache基金会开发的,用于解决大数据存储与分析的分布式系统基础框架。其有两大核心:HDFS与MapReduce。HDFSHDFS(Hadoop Distributed File System)是可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取,主要负责存储。对于外部客户端来说,HDFS与Linux文件系统类似,像一个传统的分级文件系...
2019-12-01 16:28:17
494
原创 Redis常见数据结构
Redis常用的数据结构有六种,分别是SDS(简单动态字符串)、链表、字典、跳跃表、整数集合与压缩列表。通过使用这些数据结构,Redis构建了一个对象系统,这个系统包含五种对象:字符串对象、列表对象、哈希对象、集合对象和有序集合对象,每个对象都拥有多种不同的数据结构实现,来应对不同的应用场景。...
2019-11-23 23:58:49
223
原创 InnoDB存储引擎B+树索引简述
B+树索引是B+树在数据库中的实现,可以划分为聚集索引和辅助索引,其在数据库中有一个特点是高扇出性,因此B+树的高度一般在2~4层,即查找某一个键值最多需要2至4次IO。1. 聚集索引聚集索引是按照每个表的主键构建的一颗B+树,所以其对于主键的排序查找和范围查找的速度非常快。聚集索引的叶子节点为数据页,数据页中包含着多条完整的行记录数据,每个数据页都通过一个双向链表进行链接。叶子节点存放的是完...
2019-11-04 19:06:50
398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人