剑指架构师系列-Redis集群部署】的更多相关文章

初步搭建Redis集群 克隆已经安装Redis的虚拟机,我们使用这两个虚拟机中的Redis来搭建集群. master:192.168.2.129 端口:7001 slave:192.168.2.132 端口:7002 sentinel:192.168.2.129 端口:26379 来说一下这个sentinel,sentinel是一个管理redis实例的工具,它可以实现对redis的监控.通知.自动故障转移.sentinel不断的检测redis实例是否可以正常工作,通过API向其他程序报告redi…
1.安装Redis 我们在VMware中安装CentOS 64位系统后,在用户目录下下载安装Redis. 下载redis目前最稳定版本也是功能最完善,集群支持最好并加入了sentinel(哨兵-高可用)功能的redis-stable版, http://download.redis.io/releases/     wget http://download.redis.io/releases/redis-stable.tar.gz tar -xzvf redis-stable.tar.gz cd…
1.一对多的关系配置 @Entity @Table(name = "t_order") public class Order { @Id @GeneratedValue private int id; private String name; /* * 该属性定义类和类之间的级联关系.定义的级联关系将被容器视为对当前类对象及其关联类对象采取相同的操作, * 而且这种关系是递归调用的.举个例子:Order 和OrderItem有级联关系,那么删除Order时将同时删除它所对 * 应的Or…
介绍MySQL的调优手段,主要包括慢日志查询分析与Explain查询分析SQL执行计划 1.MySQL优化 1.慢日志查询分析 首先需要对慢日志进行一些设置,如下: SHOW VARIABLES LIKE 'slow_query_log'; -- 查看是否开启了慢查询 SET GLOBAL slow_query_log_file='/var/lib/mysql/mysql-slow.log'; -- 设置慢查询日志的位置 SET GLOBAL log_queries_not_using_inde…
Logstash主要做由三部署组成: Collect:数据输入 Enrich:数据加工,如过滤,改写等 Transport:数据输出 下面来安装一下: wget https://download.elastic.co/logstash/logstash/logstash-2.3.2.tar.gz tar -zxvf logstash-2.3.2.tar.gz 在logstash-2.3.2目录下创建文件shipper.conf并配置: input { file { path => [ "/…
Spring Boot集成了Logback日志系统. Logback的核心对象主要有3个:Logger.Appender.Layout 1.Logback Logger:日志的记录器 主要用于存放日志对象,也可以定义日志类型.级别. 级别:ERROR.WARE.INFO.DEBUG和TRACE.没有FATAL,归纳到了ERROR级别里.ERROR.WARN and INFO level messages are logged by default. 在Spring Boot中,最好定义为logb…
1.Nexus与Maven 先说一下这个Maven是什么呢?大家都知道,Java社区发展的非常强大,封装各种功能的Jar包满天飞,那么如何才能方便的引入我们项目,为我所用呢?答案就是Maven,只需要粘贴个Jar包的地址,Maven就会自动到网上查找引入到你的项目中.不过首先你的下载个Maven,然后指定一下 当下来的包包(jar)放到哪里. 我的版本是apache-maven-3.2.1,找到conf里面的配置文件 settings.xml,瞅瞅有没有 <localRepository>E:…
由于tomcat6的配置文件如下: <Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" URIEncoding="UTF-8" useBodyEncodingForURI="true" enableLookups="false" re…
Struts2可以完成构造函数的循环依赖注入,来看看Struts2的大师们是怎么做到的吧! 首先定义IBlood与BloodImpl类: public interface IBlood { } public class BloodImpl implements IBlood{ private IPeople people; @Inject public BloodImpl(@Inject IPeople people) { System.out.println("Blood 构造函数被调用.&q…
首先在StandardService中start接收请求的线程,如下: synchronized (connectors) { for (int i = 0; i < connectors.length; i++) { try { ((Lifecycle) connectors[i]).start(); } catch (Exception e) { log.error(sm.getString("standardService.connector.startFailed",co…
Struts2的缓存中最重要的两个类就是ReferenceMap与ReferenceCache.下面来解释下ReferenceCache中的get()方法. public V get(final Object key) { V value = super.get(key); return (value == null) ? internalCreate((K) key) : value; } 通过key来获取value操作首先调用了super.get(key)方法,也就是调用了Reference…
事务与锁是不同的.事务具有ACID属性: 原子性:持久性:由redo log重做日志来保证事务的原子性和持久性,一致性:undo log用来保证事务的一致性隔离性:一个事务在操作过程中看到了其他事务的结果,如幻读.锁是用于解决隔离性的一种机制.事务的隔离级别通过锁的机制来实现. 数据库的事务隔离级别有(多个事务并发的情况下): √: 可能出现    ×: 不会出现  事务的隔离级别 脏读  事务1更新了记录,但没有提交,事务2读取了更新后的行,然后事务T1回滚,现在T2读取无效.违反隔离性导致的…
1.I/O调优 CentOS下的iostat命令输出如下: $iostat -d -k 1 2 # 查看TPS和吞吐量 参数 -d 表示,显示设备(磁盘)使用状态:-k某些使用block为单位的列强制使用Kilobytes为单位:1 10表示,数据显示每隔1秒刷新一次,共显示2次. tps:该设备每秒的传输次数,也就是一次I/O请求.多个逻辑请求可能会被合并为“一次I/O请求”.“一次传输”请求的大小是未知的. kB_read/s:每秒从设备读取的数据量:kB_wrtn/s:每秒向设备写入的数据…
(1)分清HAVING与WHERE的区别: HAVING 子句使你能够指定过滤条件,从而控制查询结果中哪些组可以出现在最终结果里面.WHERE 子句对被选择的列施加条件,而 HAVING 子句则对 GROUP BY 子句所产生的组施加条件. 以下的SQL语句都是基于MySQL5.6.30版本. 1.查询"1"课程比"2"课程成绩高的所有学生的学号 select a.Sno from (select Sno,score from SC where Cno=1 ) as…
安装ActiveMQ只需要下载包后解压,然后就可以启动与关闭ActiveMQ了,如下: ./activemq start ./activemq stop 访问管理页面: http://10.10.20.20:8161/admin 用户名和密码默认为:admin/admin spring.activemq.broker-url -- 指定ActiveMQ broker的URL,默认自动生成. spring.activemq.in-memory -- 是否是内存模式,默认为true. spring.…
1.安装数据库 wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server 安装时使用root用户权限.安装成功后即可进行启动: /bin/systemctl restart mysqld.service 修改MySQL数据库root用户的密码,如…
1.安装FTP 我们在开发项目时,肯定需要专门的一台ftp服务器来存在上传的静态资源,今天我们就在CentOS下搭建一个ftp服务器. 1.安装vsftpd组件,安装完后,有/etc/vsftpd/vsftpd.conf 文件,用来配置,还有新建了一个ftp用户和ftp的组,指向home目录为/var/ftp,默认是nologin(不能登录系统) yum -y install vsftpd 可以用下面命令查看用户 cat /etc/passwd 默认ftp服务是没有启动的,用下面命令启动 /bi…
Nginx可以干许多事情,在这里我们主要使用Nginx的反向代理与负载均衡功能. 1.Nginx的下载安装 在安装Nginx前需要安装如下软件: GCC  Nginx是C写的,需要用GCC编译 PCRE(Perl Compatible Regular Expression)  Nginx的Rewrite和HTTP模块会用到 zlib  Gzip会用到 OpenSSL  ssl用到 如下命令: yum install gcc yum install -y pcre pcre-devel yum i…
Maven组织项目进行编译.部署 Maven项目基本的结构说明如下: mazhi  // 控制所有荐的编译.部署.发布 mazhi-app-parent  // 项目的父项目,有一些公共的设置可以被子项目继承 mazhi-core  // 基础服务项目,例如公共类等 mazhi-xxx    其中mazhi和mazhi-app-parent是pom格式,而mazhi-core是jar格式,还可以是 war等格式. 我们以新建mazhi和mazhi-core项目为例说明一下. 新建Maven-pr…
一.简介 redis集群是一个无中心的分布式Redis存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用.可扩展等问题. redis集群提供了以下两个好处: 将数据自动切分(split)到多个节点 当集群中的某一个节点故障时,redis还可以继续处理客户端的请求.   集群中的主从复制 集群中的每个节点都有1个至N个复制品,其中一个为主节点,其余的为从节点,如果主节点下线了,集群就会把这个主节点的一个从节点设置为新的主节点,继续工作.这样集群就不会因为一个主节点的下线而无法正常工作…
Redis集群部署与维护 目录: 一. 集群架构 二. 集群部署 1. 创建redis-cluster目录 2. 编译redis 3. 编辑redis配置文件 4. 配置redis集群 5. redis集群性能测试 6. 常用redis处理命令 7. 对集群进行重新分片 8. 故障转移测试 9. 添加新节点到集群 10. redis单实例业务存储分析 三. Redis优化 1. 主从同步 1)全部同步 2)增量同步Replication Backlog 3)同步超时repl-timeout 2.…
Redis集群部署-windows 前言 为了能体验一下部署Redis集群是一种怎么样的体验,所一边做一边写了这篇记录. 1.准备 从这里下载windows服务端 https://github.com/MicrosoftArchive/redis/releases 写这个文章的时候最新版为 v3.2.100. 如果你不需要部署集群,请下载msi格式的安装包,安装之后就可以本机体验了. 如果要体验部署集群,请下载zip包. PS:系统必须是x64的 :-) 2.配置 下载下来后,把 Redis-x…
Redis集群部署文档(Ubuntu15.10系统)(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)127.0.0.1:7000127.0.0.1:7001127.0.0.1:7002127.0.0.1:7003127.0.0.1:7004127.0.0.1:7005 1:下载redis.官网下载3.0.0版本,之前2.几的版本不支持集群模式下载地址:http://download.redis…
我用的Mac的终端 ------------------------- 1.Redis简介 centos(5.4)  Redis是一个key-value存储系统.和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表).sets(集合)和zsets(有序集合)几种数据类型.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的. 2.Redis的性能…
二进制redis集群部署 〇.前言 无聊想学罢了 准备环境: 三台centos7 1C1GB即可 三个路相连的地址 主机 IP 节点-角色-实例(端口) redis1 172.16.106.128 M1-master-7000.S1-slave-7001 redis2 172.16.106.129 M2-master-7002.S2-slave-7003 redis3 172.16.106.130 M3-master-7004.S3-slave-7005 一.二进制部署redis https:/…
http://blog.csdn.net/yerenyuan_pku/article/details/72860432 本文我将带领大家如何搭建Redis集群.首先说一下,为何要搭建Redis集群.Redis是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者是MogoDB.Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群. redi…
一.介绍            redis cluster 3.0之后的功能,至少需要3(Master)+3(Slave)才能建立集群,是无中心的分布式存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用.可扩展等问题. 二.安装部署 1.环境 [root@redsi ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@redsi ~]# uname -r -.el6.x86_64 [root@redsi ~]#…
搞了几天redis cluster codis 的部署安装,测试,架构优化,配合研发应用整合,这里记一些心得! 背景需求: 之前多个业务都在应用到redis库,各业务独立占用主从两台服务器,硬件资源利用不合理,主从架构冗余度不高,主redis故障的话,从redis恢复需要时间,降低业务的可用性, 所以调研测试部署了基于codis的redis集群. 官方地址 部署文档 参考这里http://www.cnblogs.com/shantu/p/4589798.html 维护管理 了解过codis的同志…
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 Linux CentOS7 18.04 Kubernetes 1.9(也适用1.10) Docker 18.06-ce etcd 3.0 服务 IP 组件 master01 192.168.161.151 kube-apiserver kube-controller-manager kube-sch…
Codis是基于代理的高性能Redis集群方案,使用Go语言进行开发,现在在在豌豆荚及其它公司内已经广泛使用,当然也包括我们公司. Codis与常见的Redis集群方案对比. 在搭建的时候,个人觉得Redis Cluster搭建起来非常容易,但是redis-cluster没有GUI管理面板,另外查询资料发现redis-cluster的客户端实现redis-cluster的协议比较麻烦. 而codis在使用的时候,就像正常连接redis客户端一样,不过codis有些命令不支持.动手吧 多看几眼这个…