0%

装饰器模式

装饰器模式可以动态的将责任附加到对象上,进行功能的扩展,不必改变原始的继承关系,通过创建包装对象来实现,其本质就是动态组合,比生成子类更为灵活

核心概念

  • Component 组件对象接口,恶意给这些对象动态地添加职责
  • ConcreteComponent 具体的组件对象
  • Decorator 所有装饰器的父类,需要定义一个与组件接口一致的接口,并持有一个Component对象
阅读全文 »

elasticsearch降级

之前装的是7.x版本的,由于7.x版本与6.x版本差距很大,但是又需要解决log4j2漏洞问题,需要降级到6.8.23

下载rpm包

1
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.23.rpm

由于之前有安装过,需要覆盖掉之前的

1
rpm -Uvh –-oldpackage elasticsearch-6.8.23.rpm

此时就会覆盖掉之前的版本

阅读全文 »

elasticsearch安装

导入秘钥

1
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

下载rpm包

1
wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-x86_64.rpm

安装

1
rpm -ivh elasticsearch-7.1.1-x86_64.rpm

这里会自动在/usr/lib/systemd/system中生成一个开机自动启动的elasticsearch.service

1
2
3
4
5
6
7
8
# 启动
systemctl start elasticsearch.service

# 开机自启
systemctl enable elasticsearch.service

# 查看状态
systemctl status elasticsearch.service
阅读全文 »

MongoDB简介

MongoDB是一种基于分布式文件存储的数据库,由C++编写,为web应用提供可扩展的高性能数据存储解决方案,支持的数据结构非常松散,类似于json的bjson格式,因此可以存储比较复杂的数据类型。

文档是MongoDB的核心,多个键值组合在一起就是文档。

MongoDB把数据存储在文件中,为提高效率使用内存映射文件MMAP进行数据文件的读写,MMAP可以把文件直接映射到进程的内存空间中,这样文件就在内存中有了对应的地址,对文件的读写就能通过操作内存进行了,而不需要使用传统的fread、fwrite来操作文件。以键值对的形式进行存储,键用来做文档的唯一标识

  • 支持各种编程语言,java、C++、php、C#、Python等
  • 面向文档存储,文档格式是类似JSON的BSON格式
  • 提供丰富的查询功能,支持对数据建立索引
  • 模式自由,不需要事先定义文档格式,可以任意改变文档格式

LVS

LVS(Linux Virtual Server)Linux虚拟服务器,是基于Linux系统的服务器集群解决方案,通过一组服务器来进行负载均衡,通过前端的负载调度器,将网络请求无缝的调度到真实的服务器上,从而使得服务器集群的结构对客户透明,不受服务器集群的影响

在LVS中把前端负载均衡机器叫做Director Server(DR),把后端的实际服务机器叫做Real Server(RS),把IP虚拟服务器软件叫做IPVS(IP Virtual Server)

IPVS软件实现了3种IP负载均衡技术

阅读全文 »