核心业务

药兜以其独有的医药专利技术和丰富的行业积淀,目前已经形成以药械商品B2B在线交易平台——药兜网、一站式用药购药顾问服务平台——药兜

健康。于此同时,药兜可为医药行业用户提供全方位互联网技术和系统解决方案,在全国28个省区建立了专属医药配送网络和近千家药兜智慧药房

连锁体系,通过线上线下为消费者提供有价值的健康服务。

  • 药兜网B2B平台

    YAO DOU B2B PLATFORM

  • 药兜健康O2O平台

    YAO DOU HEALTH O2O PLATFORM

  • 药兜智慧药房

    YAO DOU WISDOM PHARMACY

  • 药兜加盟商

    YAO DOU FRANCHISEE

  • 药兜IT企业方案定制

    YAO DOU IT ENTERPRISE SOLUTION

全国网络

在北京、山东、重庆、江苏、浙江等近二十个省份建立了运营子公司参股控股了当地相关医药

经营企业、医药连锁药房企业(成立省级配送网络中心和药兜智慧实体药房),

形成全国线上线下联合一体的医药批发零售经销网络。

为老百姓谋健康,为医药人谋福利

合作品牌

网站拥有二十万余种医药商品,累计交易额突破100亿元,已在全国多个省市布局线下实体配送中心、近千家智慧药房实体门店,目前业务覆

盖了全国所有省份,已经和中国食品药品企业质量安全促进会、中关村医学工程研究院、国药集团、华润医药、同仁堂、普德药业、振东医药

等知名行业组织和企业建立长期合作合伙关系。

查看更多

LVS + keepalived DR 模式

第1章 LVS  + keepalived 负载均衡安装配置笔记

经安装测试能够实现我的这些需要:

  • 双机或多机实现虚拟IP,能够实现IP故障切换
  • 能够连接多台后端真实服务器,实现后端服务器的负载均衡
  • 能够实现双机热备份(同一时间单机工作,故障后切换到另一台)
  • 能够双机虚拟IP且负载均衡(双机即做调度器又做真实服务器)

1.1 LVS (Linux Virtual Server)

虚拟IP,负载均衡调度器,但需要手工动态增加命令,所以需要keepalived来实现自动配合。虚拟IP同时只能存在于某一台机器上,此时称为master机,其它为backup机。 
安装:ubuntu上直接用apt-get install ipvsadm,装完后为自启动服务。剩下的事就交给keepalived管理了,不需要手工配置LVS。

1.2 Keepalived

根据配置文件进行监控,向LVS提供信息,自动检测各调度器可用性,从而实现虚拟IP(即master机)由哪台机器服务。就是指定哪些机器一块虚拟出哪个IP。还有在虚拟的IP上提供哪个端口映射到哪些后端真实服务器从而实现后端服务的负载均衡(可自动检测出哪些不可用) 
安装:ubuntu上直接用apt-get install keepalived,装完后为自启动服务。然后在/etc/keepalived/中增加配置keepalived.conf

1.3 基本网络结构

一般需要4台机器,2台做为双机备份的调度器(VIP同时只能存在其中一台机上,另一台闲着的),另2台做为真实应用服务器(realserver)如web服务器。其中调度器可以增加为多台(浪费),realserver也可以增加为多台。设: 
虚拟VIP:10.0.0.110
调度器A:10.0.0.101 (装lvs+keepalived+配置) 
调度器B:10.0.0.102 (装lvs+keepalived+配置) 
realserverA:10.0.0.103 (需要启动realserver.sh脚本) 
realserverB:10.0.0.104 (需要启动realserver.sh脚本)

1.4 keepalived.conf

global_defs {

         router_id webHA

         }

 

vrrp_instance VI_1 {    #调度器虚拟IP切换配置

        state MASTER   #一台为MASTER,另一台为BACKUP。或者两台均是BACKUP

        interface ens33

        virtual_router_id 51   

        priority 100   #优先级,另一台改为90

        advert_int 1    #组播信息发送间隔,两个节点设置必须一样

        nopreempt  #不抢占,只在优先级高的机器上设置即可,优先级低的机器不设置

        authentication {

          auth_type PASS

          auth_pass 1111

        }

        virtual_ipaddress {

          10.0.0.110

        }

    }

 

virtual_server 10.0.0.110 80 {  #负载均衡配置 (重要:端口必须与realserver端口一致,不能更改)

        delay_loop 5   #每个5秒检查一次real_server状态

        lb_algo wrr   #LVS算法

        lb_kind DR    #LVS模式

        persistence_timeout 10   #会话保持时间

        protocol TCP

        real_server 10.0.0.103 80 {

            weight 1           

            TCP_CHECK {

              connect_timeout 5    #连接超时时间

              nb_get_retry 2       #重连次数

              delay_before_retry 3   #重连间隔时间

              connect_port 80   #健康检查端口

            }

        }

        real_server 10.0.0.104 80 {

            weight 1

            TCP_CHECK {

              connect_timeout 5    #连接超时时间

              nb_get_retry 2       #重连次数

              delay_before_retry 3   #重连间隔时间

              connect_port 80   #健康检查端口

            }

        }

    }

两台调度器做好配置后,重启service keepalived restart,即可实现2台调度器上的VIP切换(关掉机器或断掉网络或关掉keepalived都可以使VIP切换)。

 

重要:要使服务转接到后端realserver实现负载均衡,realserver上必须运行一个脚本用来修改网络配置,不能realserver会产生对VIP的冲突,原理暂时我还不清楚。

 

重要:虚拟VIP实现的服务端口必须与realserver上的服务端口一致,不能更改成其它端口,否则不能转接到realserver

 

可以在2台调度器机器上运行 ipvsadm -ln 来查看后方realserver的状态。没有显示出来的则表示该realserver有问题,能显示的代表realserver服务正常,但不一定从VIP访问就是OK

 

1.5 realserver.sh脚本

以下脚本是放在rs节点服务器上的

#!/bin/bash

# description: Config realserver lo and apply noarp

#Written by :NetSeek http://www.yaodouwang.com

 

VIP=10.0.0.110

 

case "$1" in

start)

    ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP

    /sbin/route add -host $VIP dev lo:0              

    echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

    echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

    sysctl -p >/dev/null 2>&1

    echo "RealServer Start OK"

 

    ;;

stop)

    ifconfig lo:0 down

    route del $VIP >/dev/null 2>&1             

    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

    echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

    echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

    echo "RealServer Stoped"

    ;;

*)

    echo "Usage: $0 {start|stop}"

    exit 1

esac

 

exit 0

完成上面步骤后,就可以虚拟IP并且负载均衡了。

1.6 keepalived绑定公网IP方法

添加一块网卡

 

确定之后进入虚拟机,ip a命令会出现网卡信息

 

 

可以看到我这里有个刚添加的网卡,keepalived配置文件设置的虚拟IP绑定到这个网卡上

 

 

posted @ 2018-01-05 10:52  阿灿~~~  阅读(787)  评论(0编辑  收藏  举报