master

Symfony2 : onKernelResponse called twice as MASTER_REQUEST

喜夏-厌秋 提交于 2019-12-07 02:11:34
问题 I'm using the event listener onKernelResponse . Despite I used : if (HttpKernelInterface::MASTER_REQUEST != $event->getRequestType()) { return; } It's having a MASTER_REQUEST twice in my action, there is one before the <!DOCTYPE html> <html> <head> etc, and the other one as excepted after the end of the layout. He is my services.yml : history.listener: class: VENDOR\MyBundle\Service\HistoryListener arguments: [@doctrine.orm.entity_manager, @logger, @history] tags: - { name: kernel.event

如何使用git.oschina.net

泄露秘密 提交于 2019-12-07 02:09:43
0 准备工作 - 在 官网 下载git安装包 我们在Windows下安装之后,开始菜单会出现Git Bash和Git GUI,这里 我们只用Bash命令行。 因为相比与GUI,使用Git Bash命令行模式的流程和在Linux下使用git的流程完全一致!完全一致!完全一致!如果你了解Linux基本命令,那么在Git Bash你基本不需要学习新东西;如果你不了解,那么Git Bash会为你打开命令行的大门。 而且git命令行附带提供一些有用的小工具(包括全部Linux目录操作命令、ssh远程连接工具,grep工具等等),我们可以认为这是一个迷你版的Shell - 官方帮助 - 除了官方帮助,如果您想系统的学习git工具用法,墙裂推荐廖雪峰老师教程 www.liaoxuefeng.com 而本文主要介绍常用的几处,工具嘛,就应该现学现用。 最火的git托管平台无疑是github,但github访问速度有时比较慢,而且github私有仓库需要付费。所以这里我们使用开源中国的git托管平台。 github的其他替代品包括:https://coding.net 和 https://bitbucket.org 1 初始化 - 在 http://git.oschina.net 注册帐号新建项目xxx 刚建立的时候 不要点选 “用readme文件初始化该项目”,那么新项目为空,所以首页会提示

Nginx学习笔记--高可用Nginx架构:keepalived+nginx

点点圈 提交于 2019-12-06 23:58:40
Nginx作为对外暴露的访问入口,必须具有高可用性,才能保证能够正常提供服务。单机Nginx服务的情况下,一旦出现宕机,将会导致需要Nginx路由的服务不可用访问,因此,保证Nginx服务的HA(high availabitlity),也就是高可用性。 keepalived+lvs+nginx如何保证Nginx高可用? keepalived是一个集群高可用的轻量级解决方案,关于他的介绍不多做描述,度娘很多。这里主要分析一下是如何保证nginx高可用。 我们都知道单机无法保证高可用,那么必定要实现主备或者集群来保证其可用性。Nginx本身并没有提供这样的功能,keepalived就是解决这种问题的一种实现方案。利用keepalived可以实现主备架构,在master故障发生时进行故障转移,选举备机作为新的master提供服务,同时结合keepalived提供的检测机制,可以保证Nginx的高可用。 按照我的理解,画了下面的架构图,下面看图分析。 首先是外部请求,客户端访问在 keepalived中的vrrp配置的对外暴露的虚拟ip,访问到 keepalived-service-master 所在服务器 server1 ,此时 keepalived-service-backup 服务做备用,不提供对外服务。 通过 keepalived-service-master 中的路由配置

17-nginx+keepalived实现高可用

耗尽温柔 提交于 2019-12-06 23:58:19
1. 测试环境—高可用 两台nginx服务器,主:192.168.1.196,备:192.168.1.197 两台tomcat服务器:192.168.1.194 和 192.168.1.195 vip:192.168.1.198 nginx + keepalived实现HA部署图预览效果,如下图所示: 图1-nginx + keepalived实现HA部署   分别在nginx主服务器和nginx备服务器上部署keepalived软件,通过配置keepalived来模拟之前我们所说的三种状态: 正常状态,client通过vip发出请求时,由nginx主服务器提供服务,把请求转发到后台的tomcat服务器。 故障状态,当nginx主服务器宕机了,client通过vip发出请求时,由nginx备服务器提供服务,把请求转发到后台的tomcat服务器。 当nginx主服务器恢复时,nginx备服务器让出位置,由nginx主服务器继续提供服务。 2. 配置nginx主服务器 进入/etc/keepalived目录下,修改配置文件: nginx主服务器具体配置如下: ! Configuration File for keepalived #全局配置 global_defs { notification_email { #指定keepalived在发生切换时需要发送email到的对象,一行一个

Nginx笔记(三)----Nginx+Keepalived主从配置(双机主从热备)+Tomcat集群

余生颓废 提交于 2019-12-06 23:53:00
简介 这种方案,使用一个VIP地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备机在主机器不出现故障的时候,永远处于浪费状态,对于服务器不多的网站,该方案并不经济实惠。 一、网络拓扑 四台虚拟机如下所示: 为什么使用keepalived呢? 使用keepalived就用来做高可用的,提供虚拟VIP 二、软件安装 Nginx-Master和Nginx-Slave两台服务器上的安装操作完全一样 1、更新系统 [root@Nginx-Master ~]# yum -y update 2、安装依赖软件 [root@Nginx-Master ~]# yum install -y libnl* [root@Nginx-Master ~]# yum -y install openssl openssl-devel kernel-devel #可分别安装 [root@Nginx-Master ~]# yum -y install gcc gcc-c++ autoconf automake make #可分别安装 [root@Nginx-Master ~]# yum install -y libnfnetlink-devel zlib zlib-devel gcc gcc-c++ openssl openssl-devel openssh 说明: pcre:

分布式架构学习之:030--Keepalived+Nginx实现高可用Web负载均衡

半腔热情 提交于 2019-12-06 23:52:37
一、场景需求 二、Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。 Keepalived 以 VRRP 协议为实现基础,用 VRRP 协议来实现高可用性(HA)。VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP 协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器 IP(一个或多个),而在路由器组内部,如果实际拥有这个对外 IP 的路由器如果工作正常的话就是 MASTER,或者是通过 算法 选举产生,MASTER 实现针对虚拟路由器 IP 的各种网络功能, 如 ARP 请求,ICMP,以及数据的转发等;其他设备不拥有该虚拟 IP,状态是 BACKUP,除了接收 MASTER 的VRRP 状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP 将接管原先 MASTER 的网络功能。VRRP 协议使用多播数据来传输 VRRP 数据,VRRP 数据使用特殊的虚拟源 MAC 地址发送数据而不是自身网卡的 MAC 地址,VRRP 运行时只有 MASTER 路由器定时发送 VRRP 通告信息,表示 MASTER 工作正常以及虚拟路由器 IP(组)

基于AKS部署Redis集群

徘徊边缘 提交于 2019-12-06 22:10:43
Redis( Remote Dictionary Server 远程字典服务)是一个 ANSI C语言编写的开源内存 Key-Value数据库,广泛用于数据库与应用之间的预留缓存( Cache-Aside)、网页静态内容缓存、用户会话缓存、作业消息队列以及分布式事务等场景。业绩知名企业都在使用 Redis,例如 GitHub、 Twitter、 StackOverflow、 Snapchat等等。 Redis 有三种使用模式,单实例、主备和集群。 Redis 群集是一组 Redis 实例,通过数据分片( Sharding)来扩展数据库。一个 Redis 集群包含 16384个哈希槽( Hash Slot),数据库中的每个键都属于这 16384 个哈希槽的其中一个 , 集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽,例如一个三节点集群, 节点 A 负责处理 0 号至 5500 号哈希槽,节点 B 负责处理 5501 号至 11000 号哈希槽,节点 C 负责处理 11001 号至 16384 号哈希槽。群集中的每个实例成员无论是主副本( Master)还是辅助副本 (Slave)都管理哈希槽的子集,而且可以在不停机的情况下增加或减少节点。如果 Master无法访问,则其 Slave将提升为 Master继续提供服务。群集内部通过内部总线通信,使用

Keepalived+lvs+httpd之负载均衡

拥有回忆 提交于 2019-12-06 21:35:31
最近在研究 负载均衡。目前研究的是keepalived+lvs模式 1、软件介绍 keepalived:顾名思义是保持存活,常用来搭建设备的高可用,防止业务核心设备出现单点故障。keepalived主要用作realserver的健康检查以及负载均衡主机和backup主机之间的故障漂移。 单点故障:在公司整个业务流程中,某一点出现故障就会导致整个系统架构不可用,单点故障常发生在数据库、核心业务系统等。对此我们的解决办法是对核心业务系统进行高可用负载均衡。 LVS:Linux Virtual Server,linux虚拟服务器,是一个虚拟的服务器集群系统。目前有三种负载均衡技术(VS/NAT、VS/TUN和VS/DR);十种调度算法(rrr|wrr|lc|wlc|lblcr|lblc|dh|sh|sed|nq)。 2、实验拓扑图。 本次实验一共用到4台服务器,其中两台服务器用来搭建keepalived+lvs,另两台是对外提供服务的web服务器。 本次实验用到了5个ip地址。 Master:10.68.4.201 Backup:10.68.4.58 web1:10.68.4.198 web2:10.68.4.248 virtualIP:10.68.4.199 3、拓扑图介绍 keepalived--master和keepalived--backup

K8S 1.10.1 高可用环境搭建实战

痴心易碎 提交于 2019-12-06 21:05:09
服务器信息如下: 主机名称 IP 备注 node01 10.150.27.51 master and etcd rode02 10.150.27.65 master and etcd node03 10.150.27.66 node VIP 10.150.27.99 软件版本: docker17.03.2-ce socat-1.7.3.2-2.el7.x86_64 kubelet-1.10.0-0.x86_64 kubernetes-cni-0.6.0-0.x86_64 kubectl-1.10.0-0.x86_64 kubeadm-1.10.0-0.x86_64 参考文档: https://github.com/cookeem/kubeadm-ha/blob/master/README_CN.md 1:环境初始化 1:分别在三台主机设置主机名称 hostnamectl set-hostname node01 hostnamectl set-hostname node02 hostnamectl set-hostname node03 2:配置主机映射 cat <<EOF > /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost

Bitbucket branch management

﹥>﹥吖頭↗ 提交于 2019-12-06 19:52:25
Is this possible with BitBucket or GitHub to restrict the user for any particular branch except "master"? I only want to share "master" branch with others and develop branch should be keep private with me and my developers. So no one can even "checkout" develop branch if permission is not given. Any possibility? You can restrict in "writing" access (push) with BitBucket or GitHub , or with a git server using gitolite . But you cannot restrict in "reading" access: if you can clone part of a repo, you can clone the all repo. develop branch should be keep private with me and my developers. That