• [需求建议] 华为云经典型负载均衡于2019年01月17日00:00(北京时间)停售通知
    尊敬的华为云客户:华为云计划于2019/01/17 00:00:00,停止官网页面创建经典型ELB公网和私网实例。 并且,计划于2019/05/30 00:00:00,停止API创建经典型ELB公网和私网实例。经典型ELB实例停止创建后,1、将无法通过官网和API方式,创建经典型ELB实例,若您需要使用ELB产品,请创建增强型ELB产品。2、若已经创建经典型ELB产品,则可继续使用。3、若您需要将已创建的经典型ELB产品升级为增强型ELB产品,华为云将为您提供迁移工具,工具下载地址https://developer.huaweicloud.com/tools如您有任何问题,欢迎您拨打华为云服务热线:4000-955-988与我们联系。感谢您对华为云的支持!https://www.huaweicloud.com/notice/2018/20181211142110367.html
  • 什么是架构属性
    本文探讨如下几个问题:什么是架构属性约束和架构属性的关系有哪些架构属性各个架构属性涉及知识点什么是架构属性首先,问个很简单的问题!请看下面的Java代码:class Person {    private String name;    private int age;    public void skill() {         ......     }}请问上面的代码中:name和age被称为Person这个类的什么?skill又称为Person这个类的什么呢?name和age一般被称为字段、成员变量或属性;skill一般被称为方法,表示Person所具有的功能!我们稍微修改下代码:Architecture {    private String safe;    private String performance;    public void func() {         ......safe(安全性)和performance(性能)就是Architecture(架构)的属性!func就是架构所具有的功能!架构属性一般又称为质量属性!这些架构属性和架构功能是从哪来的呢?在之前的文章中提到过约束包含:功能性约束(这个系统要完成的功能)、非功能性约束(可用性、扩展性、容错性等)、其它约束(人员技能、法律法规、公司规定等)实际上,架构属性和架构功能是从约束而来:对「功能性约束」的决策结果就是架构功能对「非功能性约束」的决策结果就是架构属性而对「其它约束」的决策可能会同时影响到架构功能和架构属性给架构属性和架构功能下个定义:架构属性是对「非功能约束」决策后,架构所具有的特征,且受到一些其它约束的影响架构功能是对「功能约束」决策后,架构所具有的功能,且受到一些其它约束的影响以在线教育系统为例,来说明一下:这个系统需要具有在线直播的功能,完成这个功能约束后,系统即有了在线直播这个架构功能这个系统需要4个9的可用性,如果这个系统达到了这个非功能性约束,系统即有了高可用的架构属性法律法规规定,现在直播需要有《信息网络传播视听节目许可证》或《广播电视节目制作经营许可证》,如果你没有,那么你的系统就没法进行直播也就没有了直播这个功能;而如果人员技能不达标或者某些突发情况,那可能导致系统就不具备高可用这个属性,号称「能同时支持8位明星同时×××的微博」,不是又挂了吗?架构属性架构属性一般包括如下方面:性能,伸缩性,可用性,安全性,容错性,灾难恢复,可访问性,可运维,管理,灵活性,可扩展性,可维护性,国际化,本地化。还有法律法规,成本,人员等对上面架构属性的影响。下面分别讨论(由于涉及的内容很多,这里只是一个概要,详细内容后续慢慢讨论)。性能我们经常挂在嘴边的优化,绝大部分情况下指的是「性能优化」。「性能优化」的目的就是提高系统响应速度。而优化的原因就是系统响应速度不够快。一般认为,一个网页打开速度超过3s,用户就开始没有耐心了;如果超过5s,用户就要打算放弃访问了;而如果超过10s以上用户还没关闭,这个网站不是12306就是查分网站。上面指的「响应速度」主要分为系统性能和用户感知性能。这两者的区别是:系统性能指系统自身的响应,即调用一个接口,此接口多久能返回。而用户感知性能,是用户操作后到操作反馈的时间。举个简单的例子,假设一个页面完整加载完要3s,如果用户一点击就白页,3秒后再显示出来,那么用户感知性能就是3秒;而如果一点击1秒之内就加载了第一屏或者立即就有一个加载反馈,那么用户感知性能就在1s以内。虽然系统性能实际是一样的,但是用户的感知性能却不同。性能方面的知识点主要涉及各种优化:前端优化,网络优化,代码优化,数据库优化,JVM优化等等等等,提高TPS,QPS等系统性能和用户感知性能(用户体验)伸缩性如果你玩游戏的话,你肯定知道「开服」和「合服」吧?其实这就是伸缩性!简单来说,伸缩性就是:「你的系统能否能通过简单的增加部署,来应对更多的访问量」!例如:原来你的系统只有一台服务器,现在一台服务器撑不住了,你能否不修改任何代码,只增加一台一样的服务器就可以支撑更多的人来访问?相对的,反过来,如果你的用户量减少了,两台服务器浪费了,你能否直接关闭一台服务集,来节约成本?伸缩性涉及的知识点主要涉及分布式相关内容:应用集群,负载均衡,负载均衡算法,分布式事务,分库分表,拆分应用,服务化,SOA,微服务等可用性可用性可能是最基本的架构属性了。你经常听到的3个9,4个9,5个9就是指可用性的。可用性指的是:「系统能够连续多长时间正常运行?」3个9就表示系统全年可用时间占全年时间的99.9%,即不可用时间是365*24*60*60*0.1%=31536秒,大概8个多小时,好像时间还挺长的4个9就表示系统全年可用时间占全年时间的99.99%,即不可用时间是365*24*60*60*0.01%=3154秒,大概50多分钟。基本上最多只能出一次故障5个9就表示系统全年可用时间占全年时间的99.999%,即不可用时间是365*24*60*60*0.001%=315秒,大概5多分钟。基本上等于系统全年都要保证可用。一般情况下,系统故障了5分钟还不一定能定位到问题,更不要说解决问题了。可用性和伸缩性涉及知识点有些重合,因为保障可用性的方法就是「冗余」,实际就是集群和分布式:集群,多数据中心,主备切换,心跳,注册中心,负载均衡,负载均衡算法(轮询、随机、hash),容错(见容错处理)等安全性最近Facebook出现了系统漏洞,5000多万的用户数据被泄露了。之前的携程也是,不少的知名系统都出现过安全问题。安全性就是:「保障用户在使用系统的过程中,信息不会被泄露,导致个人财产受到损失,个人安全受到威胁等」安全性相关知识点包括:各种攻击防范(CSRF,SQL注入,脚本注入,DDos等),https,鉴权,授权,单点登录,加解密等容错性做系统时,我们都听说过,要把用户当傻瓜,要把操作做得尽量简单。而实际上,我们也要把用户当做破坏分子,他们不小的概率不会按照正常情况来操作你的系统。比如:电话号码里面写了字符啦,添加了各种表情啦,狂点提交按钮啦,狂刷新啦等等等等。你的系统需要应对这些。容错性就是:「系统对非正常情况(输入、输出、操作,异常数据等)的宽容程度」。你不能动不动就给个500错误,需要对可能的情况做容错处理。比如:前后端的数据检查,友好的错误提示。容错性涉及知识点:如何进行异常处理?非正常输入输出处理。网络波动,请求超时,服务挂掉,硬件问题,用户体验等灾难恢复灾难恢复和容错性比较类似,只是程度上的区别。用户输入错误这样的问题,可能只是导致这个用户的流程无法走下去。而「灾难」会影响一部分甚至所有用户都无法使用系统,从而导致可用性问题。比如:服务器宕机、机房断电、硬盘损坏、甚至地震了。你如何保证你的系统在上述情况下还能正常对外提供服务?灾难恢复涉及的知识点:线路的快速切换,负载均衡算法,硬件损坏的恢复,跨DC备份等可访问性类似让视觉障碍之类的残疾人也能使用你的软件,这个好像目前考虑得不是太多,暂不讨论。主要还是用户体验方面,只是面向的群体不同,优化的点也就不同。监测(可运维)上面说可用性,4个9时基本就要保障机器全年都要可用,为了达到这个目标,就要对系统进行监控,以期在早期发现问题,在影响系统可用性前,就将其解决。这就是监测。主要包括完善的监控视图,异常数据的提醒,日志的记录等监测涉及知识点:日志记录,日志统计,请求跟踪,机器负载监控,请求监控等,偏运维。管理如果你做过线上系统,应该会遇到过需要不停机调整系统某些参数的情况。例如:调整日志的输出级别,删除某些数据,刷新缓存。管理指:「运行时修改系统配置、刷新缓存等能力」。这里需要注意的是,要避免对线上系统的影响,比如:全量刷新了缓存,导致系统雪崩了。管理涉及知识点:需要权衡哪些配置需要在线进行调整。灵活性系统上线后,可能主要是运营人员对系统进行操作,一般运营人员不懂技术,如何提供方便的功能,能够让运营人员方便的使用系统。例如:用户下错单了,运营人员需要取消订单;敏感词审核了;屏蔽某些用户了;调整工作流流程了等等等等灵活性指:「非技术人员修改软件内部使用的业务规则的能力」。灵活性涉及知识点:确定哪些功能需要后台管理功能,及相关功能的设计。比如是否需要完善的权限体系,及运营人员如何管理权限体系。可扩展性系统开发是个持续的过程,对内项目一般会分期,一期二期三期;互联网项目会不断的根据用户反馈进行迭代。如何方便的进行迭代就是架构的可扩展性。扩展性指:「扩展软件使其可以做现在还不能做的事的能力。即添加新功能的难易程度。」扩展性涉及知识点:主要是设计方面的考量。面向对象设计、组件设计,高内聚,低耦合等。一些架构风格,例如插件风格,过滤器风格等对扩展性比较友好。其实大部分架构都支持可扩展性,只是支持的程度不同而已可维护性开发为什么要使用框架?为什么要走变更流程?为什么有各种开发流程?为什么发布代码还要提交运维申请?是为了管理项目,提高开发进度,能够跟进项目计划,确定是否出现偏差,及时进行调整。这些都是可维护性的范畴。可维护性指:「系统是否能快速的开发、测试、发布?」可维护性这个属性偏流程管理,包括编码规范,开发流程,测试流程,发布流程等国际化支持多国语言的能力。比如:很多网站分为中文站,国际站。这就需要考量,是使用相同的数据进行翻译,还是部署不同的系统等。本地化以符合最终用户文化习俗的方式展示数字、货币、日期等其它影响因素法律法规:某些行业会受到法律或监管机构的管理,需要符合法律法规。例如金融行业成本:成本不够,可能就会先降低甚至忽略某些架构属性的要求人员水平:人员水平也可能会降低或提高某些架构属性举个例子这些架构属性,就是在做系统架构时需要考虑的点。依然以在线教育系统为例:这个系统需要支持多少学员同时在线学习?能容忍多长时间的系统响应?这是「性能」系统需要连续多长时间不出问题?3个9?4个9?还是5个9?这是「可用性」如果系统出现了问题,该如何处理?如何响应?这是「系统容错」如果学员增多了,能否能方便的多部署系统来支持?反之,如果学员减少了,能否减少系统部署来节约成本?这是「伸缩性」如果要新增直播的功能,能否方便的添加?且基本不影响现有功能?这是「扩展性」系统能否防御恶意攻击?是否能保证用户的信息安全?这是「安全性」如何能以最小的花费来完成系统?这是「成本」考量目前的团队技术水平如何?这是「人员」考量系统出现问题或异常情况,是否能快速的通知相关人员?这需要完善的监控系统,这是「可运维性」系统如何能快速的开发、测试、发布?这是「可维护性」有哪些法律法规需要遵守?是否需要申请直播功能有国外用户吗?需要国际化吗?总结本文梳理了什么是架构属性;有哪些架构属性及相关知识点!后续对各个属性进行详细讨论。每个约束之间并不是正交的,可能满足的某个约束,却违背了另外一个或多个约束,这就需要架构师来进行取舍。就像CAP原则一样,一个分布式系统不可能同时满足可用性、一致性和分区容错性。一个架构也不可能同时满足所有的约束。©本文转自(Ala6)博客51CTO博客,如需转载,请自行联系原作者。原文链接(http://blog.51cto.com/13982920/2308354)
  • [热门活动] 华为云弹性负载均衡服务(ELB)控制台入口变更通知
    尊敬的华为云客户:华为云计划于2018/11/08将弹性负载均衡服务(ELB)控制台,从云服务器控制台迁移至网络控制台,届时请您前往网络控制台购买并查看弹性负载均衡的相关资源。路径:登录华为云控制台—所有服务—网络—弹性负载均衡ELB如您有任何问题,欢迎您拨打华为云服务热线:4000-955-988与我们联系。感谢您对华为云的支持!
  • [介绍/入门] AOS编排语言系列教程(七):创建负载均衡ELB
    【摘要】 弹性负载均衡( Elastic Load Balance,简称ELB)将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错。上一章我们学习了如何创建共享云硬盘,我们基于上一个模板加入创建负载均衡ELB的内容。弹性负载均衡( Elastic Load Balance,简称ELB)将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错。上一章我们学习了如何创建共享云硬盘,我们基于上一个模板加入创建负载均衡ELB的内容。tosca_definitions_version: huaweicloud_tosca_version_1_0node_templates:  myecs:    type: HuaweiCloud.ECS.CloudServer    properties:      availabilityZone: cn-south-1a      flavor: c1.medium      imageId: a3934478-bfeb-4a02-b257-9089779f0380      instances: 1      name: my-ecs      nics:        - subnetId:            get_reference: mysubnet      rootVolume:        size: 40        volumeType: SATA      securityGroups:        - id:            get_reference: mysg      vpcId:        get_reference: myvpc      mountedVolumes:        - mountPath: '/dev/sdc'          volumeId:            get_reference: myevs    requirements:      - vpcId:          node: myvpc      - securityGroups.id:          node: mysg      - nics.subnetId:          node: mysubnet      - mountedVolumes.volumeId:          node: myevs  mysg:    type: HuaweiCloud.VPC.SecurityGroup    properties:      name: my-sg    requirements:      - vpcId:          node: myvpc  mysgrule:    type: HuaweiCloud.VPC.SecurityGroupRule    properties:      direction: ingress      ethertype: IPv4      maxPort: 5444      minPort: 5443      protocol: TCP      securityGroupId:        get_reference: mysg    requirements:      - securityGroupId:          node: mysg  mysubnet:    type: HuaweiCloud.VPC.Subnet    properties:      cidr: '192.168.1.0/24'      dhcpEnable: true      gateway: 192.168.1.1      name: my-subnet      vpcId:        get_reference: myvpc    requirements:      - vpcId:          node: myvpc  myvpc:    type: HuaweiCloud.VPC.VPC    properties:      cidr: '192.168.0.0/16'      name: my-vpc  myevs:    type: HuaweiCloud.EVS.SharedVolume    properties:      size: 10      availabilityZone: cn-south-1a      volumeType: SATA  myelb:    type: HuaweiCloud.ELB.LoadBalancer.External    properties:      name: my-elb      vpcId:        get_reference: myvpc    requirements:      - vpcId:          node: myvpc  myelb-listener:    type: HuaweiCloud.ELB.Listener    properties:      protocol: TCP      name: my-elb-listener      backendPort: 80      backendProtocol: TCP      port: 80      lbAlgorithm: roundrobin      loadBalanceId:        get_reference: myelb    requirements:      - loadBalanceId:          node: myelb  myhealth:    type: HuaweiCloud.ELB.HealthMonitor    properties:      unhealthyThreshold: 3      healthyThreshold: 3      healthCheckInterval: 5      healthCheckConnectPort: 80      healthCheckTimeout: 10      listenerId:        get_reference: myelb-listener    requirements:      - listenerId:          node: myelb-listener  mymember:    type: HuaweiCloud.ELB.Members    properties:      serverIds:        - get_reference: myecs      listenerId:        get_reference: myelb-listener    requirements:      - serverIds:          node: myecs      - listenerId:          node: myelb-listener首先创建一个elb元素,它是部署华为云PaaS层私网LoadBalancer对象,通过创建LoadBalancer,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并将请求进行负载分发到后端的各个容器应用上。参数vpcId是ELB实例所属的VPC,弹性负载均衡需要与后端监听的弹性云服务器处于同一个VPC下。elb-listener元素是弹性负载均衡下的监听器,一个loadBalancer可对应多个监听器,支持对监听器进行增加、删除。它有几个属性值:    1.         protocol是负载均衡器协议。    2.         name是监听器的名称,设置为my-elb-listener。    3.         backendPort表示云服务器端口,可根据实际情况修改。    4.         backendProtocol是云服务器协议。    5.         port是负载均衡器端口,默认为80,可根据实际情况修改。    6.         lbAlgorithm是监听器负载均衡方式,roundrobin:轮询算法, leastconn:最少连接, source:源IP算法;其中轮询算法支持会话保持功能。    7.         loadBalanceId是所属的负载均衡器ID,将elb-listener与之前创建的elb关联起来。,然后创建health-monitor元素,它是弹性负载均衡下的健康检查,一个Listener对应一个健康检查,一个健康检查管理多个弹性云服务器,支持对健康检查进行增加删除。    1.         unhealthyThreshold判定健康检查结果为fail的阈值,即健康检查连续失败多少次后,将后端云服务器的健康检查状态由success改为fail。    2.         healthyThreshold判定健康检查结果为success的阈值。    3.         healthCheckInterval是健康检查时间间隔(秒)。    4.         healthCheckConnectPort是健康检查使用端口,可根据实际情况修改,默认为云服务器端口。    5.         healthCheckTimeout是健康检查超时时间(秒)。    6.         listenerId健康检查所属的监听器ID,将health-monitor与elb-listener元素相关联。member元素是弹性负载均衡下的弹性云服务器,一个Listener可以对应多个弹性云服务器,并且可以对监听器进行增加删除。一个HealthMonitor管理多个云服务器。    1.         serverIds是后端云服务器ID。    2.         listenerId是所属的监听器ID,该参数将member与elb-listener元素相关联。为确保ELB健康检查正常运行,需要在后端弹性云服务器的安全组中添加入方向规则,允许来自100.125.0.0/16网段HTTP协议的访问,同时需要确保云服务器上80端口可返回200。部署堆栈时elb参数组中的vpcId及member参数组中的serverId需要根据实际情况填写,未正确填写会导致堆栈部署失败。负载均衡创建成功:
  • 分布式数据库DDM Sidecar模式负载均衡
    1         简介分布式数据库中间件 DDM分布式数据库中间件(Distributed Database Middleware)是解决数据库容量、性能瓶颈和分布式扩展问题的中间件服务,提供分库分表、读写分离、弹性扩容等能力,应对海量数据的高并发访问场景,有效提升数据库读写性能。MySQL Routermysql-router是mysql官方的轻量级的中间件,用于取代MySQL Proxy应用程序像访问MySQL一样访问MySQL Router,由MySQL Router将数据转发给后端的DDM节点,实现Sidecar模式负载均衡。Sidecar模式是一种从应用程序本身剥离应用程序功能作为单独进程的方法。此模式允许我们向应用无侵入添加多种功能,从而无需向应用程序添加其他配置代码。建议MySQL Router与应用程序部署在同一台机器做Sidecar模式负载均衡,相对于服务端形式的负载均衡,Sidecar模式实现负载均衡可以缩短调用链路,减少服务端中心节点的压力,去中心化,使用更加可靠更加高效。参考资料:分布式数据(DDM)https://www.huaweicloud.com/product/ddm.htmlMySQL Router文档https://dev.mysql.com/doc/mysql-router/8.0/en/https://dev.mysql.com/doc/mysql-router/8.0/en/mysql-router-conf-options.htmlmysql-router-8.0.11-linux-glibc2.12-x86-64bit.tar.gz 2         部署Mysql-Router服务# 解压安装程序文件tar -xzvf mysql-router-8.0.11-linux-glibc2.12-x86-64bit.tar.gz # 重命名安装文件夹mv mysql-router-8.0.11-linux-glibc2.12-x86-64bit /usr/local/mysqlrouter # 创建日志和配置相关文件存放目录cd /usr/local/mysqlroutermkdir logsmkdir etc # 利用模板文件创建配置文件cp /usr/local/mysqlrouter/share/doc/mysqlrouter/sample_mysqlrouter.conf ./etc/mysqlrouter.conf # 启动 mysql router/usr/local/mysqlrouter/bin/mysqlrouter -c /usr/local/mysqlrouter/etc/mysqlrouter.conf &  3         配置文件详解首先,获取DDM连接串,如下图所示下面详细介绍mysql-router三种配置方式:I、作为中心代理节使用mysql-router绑定IP不限制,即监听所有ip,任意节点都可以访问,作为数据库访问代理,轮询DDM各个节点。其中,destinations为上文获得的DDM连接串。vi /usr/local/mysqlrouter/etc/mysqlrouter.conf[DEFAULT]  logging_folder = /usr/local/mysqlrouter/log/  plugin_folder = /usr/local/mysqlrouter/lib/mysqlrouter/  config_folder = /usr/local/mysqlrouter/etc/  runtime_folder = /usr/local/mysqlrouter/run/    [logger]  level = INFO    # 负载均衡配置  [routing:balancing]  # 绑定的IP地址  bind_address=0.0.0.0  # 监听的端口  bind_port = 7002  # 连接超时时间(秒)  connect_timeout = 3  # 最大连接数  max_connections = 100  # 后端服务器地址.默认读进行轮询  destinations = 192.168.4.235:5066,192.168.4.231:5066  # 路由策略  routing_strategy=round-robin    [keepalive] interval = 60连接示例:[root@xxx ]# ./mysql -uddmtest -h128.11.2.2 -P7002 -p  Enter password:    mysql>128.11.2.2为Mysql Router所在IP II、作为本地数据库代理使用mysql-router绑定本地地址127.0.0.1,作为本地数据库访问代理,仅允许当前节点访问数据库。其要求需要访问数据库的应用与router部署在同一节点,更安全可靠。vi /usr/local/mysqlrouter/etc/mysqlrouter.conf[DEFAULT]  logging_folder = /usr/local/mysqlrouter/log/  plugin_folder = /usr/local/mysqlrouter/lib/mysqlrouter/  config_folder = /usr/local/mysqlrouter/etc/  runtime_folder = /usr/local/mysqlrouter/run/    [logger] level = INFO    # 负载均衡配置  [routing:balancing]  # 绑定的IP地址  bind_address=127.0.0.1  # 监听的端口  bind_port = 7002  # 连接超时时间(秒)  connect_timeout = 3  # 最大连接数  max_connections = 100  # 后端服务器地址.默认读进行轮询  destinations = 192.168.4.235:5066,192.168.4.231:5066  # 路由策略  routing_strategy=round-robin    [keepalive] interval = 60连接示例:[root@xxx ]# ./mysql -uddmtest -h127.0.0.1 -P7002 -p  Enter password:    mysql>mysql客户端与Mysql Router在同一节点。 III、作为本地数据库代理,使用Unix sockets连接(推荐)mysql-router不绑定ip和端口,只使用Unix sockets连接,这样可以不经过tcp协议转发数据,只走操作系统socket通道,更加高效。其同样要求需要访问数据库的应用与router部署在同一节点,但是安全可靠,且高效。 vi etc/mysqlrouter.conf[DEFAULT]  logging_folder = /usr/local/mysqlrouter/log/  plugin_folder = /usr/local/mysqlrouter/lib/mysqlrouter/  config_folder = /usr/local/mysqlrouter/etc/  runtime_folder = /usr/local/mysqlrouter/run/    [logger] level = INFO    # 负载均衡配置  [routing:balancing]  # 绑定的IP端口  socket = /tmp/mysqlrouter.sock  # 连接超时时间(秒)  connect_timeout = 3  # 最大连接数  max_connections = 100  # 后端服务器地址.默认读进行轮询  destinations = 192.168.4.235:5066,192.168.4.231:5066  # 路由策略  routing_strategy=round-robin    [keepalive] interval = 60其中,destinations为上文获得的DDM连接串 连接示例[root@xxx ]# ./mysql -uddmtest -p -S /tmp/mysqlrouter.sock  Enter password:    mysql>mysql客户端与Mysql Router在同一节点。
  • [大咖交流] 【示例模板】【创建经典型公网负载均衡 (elb-external)】部署展示及详解
    本篇文章讲述如何通过创建经典型公网负载均衡 (elb-external)示例模板创建堆栈。该模板创建一个包含一个监听器的经典型公网负载均衡,监听器后端可添加2个弹性云服务器。【部署结果展示】点击资源名称可以跳转到所创建的弹性负载均衡资源页面。健康检查:后端云服务器:【部署过程详解】*部署前准备:创建2台弹性云服务器,云服务器可以不绑定弹性IP。创建弹性云服务器时,如果所选择的的安全组规则未包含监听器衡健康检查需要放行的规则,则需要添加,下面以System-default安全组为例添加规则:其中协议及端口为监听器健康检查使用的协议及端口,源地址固定为100.125.0.0/16:创建弹性云服务器,创建成功后将弹性云服务器的ID拷贝下来,后续填写堆栈配置参数时使用:*参数填写:1.为堆栈填写名称及描述2.填写堆栈的配置参数:模板中包含了负载均衡,监听器,健康检查及后端云服务器四个部分,堆栈配置参数按照这四个部分进行了标签分类,可在对应的标签下填写相关组件的参数。部署时可以直接使用示例模板中的参数,也可以根据实际情况自行选择。2.1 监听器参数:监听器参数说明如下:2.2 负载均衡参数:负载均衡参数如下,其中负载均衡名称自动生成,创建完成后可以在堆栈详情页面看到:模板中的负载均衡默认带有弹性IP,未带有弹性IP的使用方式可以参考经典型私网负载均衡(elb-internal)。参数中的计费方式,EIP类型及VPC的ID均支持下拉选择:2.3 健康检查参数:健康检查的参数设置如下,需要保证协议中设置的访问方式畅通,这里使用TCP 22作为健康检查的协议及端口:2.4 后端云服务器参数:在后端云服务器参数中填写刚才拷贝的弹性云服务器的ID:*模板参数与弹性负载均衡界面对应关系:1.负载均衡:2.监听器:3.健康检查:*扩展:后端云服务器个数的扩展1 通过增加数组长度增加个数:输入界面:2 通过split函数,添加分隔符,弹性云服务器的输入参数可以缩减为一个,这里使用“, ”为分隔符,多个弹性云服务器ID通过“, ”分隔:输入界面:
  • DDM|客户端负载均衡带来卓越性能!
    发扬工匠精神,DDM为了给用户提供性能最强的云服务,致力于降低每一个环节上的性能损耗。应用程序连接到DDM的链路上可能会有性能损失,一些企业通过自行研发客户端程序来实现负载均衡,但这样一来,服务部署和升级的复杂度都会大大提升,目前业界并没有通用的成熟的解决方案。针对这一问题,DDM内部实现了MySQL原生通信协议,将自己模拟成一个MySQL客户端,使应用程序连接到DDM和连接到普通的MySQL一样。此外,DDM采用MySQL JDBC驱动自带的负载均衡模型,不仅提供客户端负载均衡,还支持容灾切换,如果集群内部有节点发生故障,驱动会自动屏蔽掉该故障节点,故障恢复后会自动加入到负载均衡。应用程序通过JDBC loadblance连接到DDM,链路畅通无阻,没有中间LB节点带来性能损耗,还提供事务级负载均衡,给用户带来卓越的性能体验。
  • 弹性负载均衡,认识一下
    本帖最后由 蓝书签 于 2018-3-16 20:49 编辑弹性负载均衡 弹性负载均衡(Elastic Load Balance)将访问流量自动分发到多台弹性云服务器,扩展应用系统对外的服务能力,实现更高水平的应用程序容错性能。弹性负载均衡是什么?弹性负载均衡(Elastic Load Balance ,以下简称ELB)通过监听规则将访问流量自动分发到后端多台弹性云服务器,扩展应用系统对外的服务能力,实现更高水平的应用程序容错性能。用户通过基于浏览器、统一化视图的云计算图形化管理界面,可以创建负载均衡器,为服务配置需要监听的端口信息及后端云服务器,消除单点故障,提高整个系统的可用性。 点击下面链接帮助您如何购买弹性负载均衡购买弹性负载均衡 点击下面帮助您了解弹性负载均衡服务,快速掌握服务创建方法,以及如何使用 用户指南 点击下面帮助您了解各个接口的功能、参数、使用样例等接口调用方法 以下附件资料为版权所有 © 华为技术有限公司 ,仅供学习交流使用 12569 12568 12567 12566 12565 12569 12568 12567 12566 12565
  • elb 私网支持配置自己的负载均衡吗?
    elb 私网支持配置 根据 path 路径格则配置自己的负载均衡策略吗?
  • KFK作为消息系统的使用场景
    本帖最后由 瓷喵 于 2017-12-27 16:14 编辑传统的消息有两种模式:队列和发布订阅。队列的优点是允许多个消费者瓜分处理数据,这样可以扩展处理,但是,一旦消息者进程读取后故障了,消息就丢了。而发布和订阅允许你广播数据到多个消费者,由于每个订阅者都订阅了消息,所以没办法缩放处理。Kafka的消费者组的概念结合了队列和发布订阅两种模式的优点。Kafka的模型使得每个Topic都具有队列和发布订阅两种特性。作为队列的时候消费组可以将将消息处理分发到不同的处理器上;作为发布订阅模式的时候,允许将消息广播到不同的消费者组中。相对于传统的消息系统,Kafka还具有很强的顺序保证机制。传统队列顺序保存消息在Server上,多个消费者从队列中获取并处理消息。尽管在服务器上消息是顺序的,但是由于采用异步的方式分发到消费者,因此到达的顺序就不能保证。消息系统常常通过仅设1个消费者来解决这个问题,但是这意味着没用到并行处理。kafka通过并行topic的parition提供了顺序保证和负载均衡。每个partition仅由同一个消费者组中的一个消费者消费到。并确保消费者是该partition的唯一消费者,并按顺序消费数据。每个topic有多个分区,则需要对多个消费者做负载均衡,但请注意,相同的消费者组中不能有比分区更多的消费者,否则多出的消费者一直处于空等待,不会收到消息。
  • [问题求助] 弹性负载均衡使用的IP由ELB独占吗?
    弹性负载均衡使用的IP由ELB独占吗?
  • [问题求助] 弹性负载均衡的可以消除单点故障吗?
    弹性负载均衡的可以消除单点故障吗?
  • [问题求助] 负载均衡调整ECS数量问题
    负载均衡运行中是否可调整ECS数量?
  • [问题求助] 负载均衡收费问题
    负载均衡如何收费?
  • 老庞说elb--告别传统负载均衡的痛苦
    传统的负载均衡实在是痛点太多了,要是数痛点,都可以组成一个足球队了,例如{:2_29:} 1、灵活性差无法快速响应变化的流量需求,对于潮汐效应明显的业务会形成业务瓶颈。 2、扩展性差:随着业务的增长,客户一到两就需要重新购买更高规格的设备重新部署。 3、稳定性差:故障持续时间长,恢复业务效率低 4、安全性差:负载均衡器与安全组件之间的兼容性不好,难以配合 5、前期投入大:高性能的硬件负载,均衡器都非常昂贵 6、部署周期长,专业性强:上线调试周期非常长,而且需要专业技术支持 对于华为elb,这些问题可以帮您轻松解决: 通过集群部署、健康检查,保证您业务高可用,高安全: 集群部署:采用全冗余设计,集群化部署、支持跨AZ的流量分发和容灾SLA承诺:服务整体可用性达到99.95%、7*24专业团队随时应对,高枕无忧健康检查:自动检测和移除异常节点,将流量自动路由到正常节点、可根据应用负载进行弹性扩容,在流量波动下不中断业务专业防护:无缝结合云安全服务,提供DDoS高防能力,避免带宽被打满、结合云监控服务,提供多个维度的指标监控和预警机制海量并发、灵活部署,实现高性能,超灵活海量并发连接:集群支持最高400万并发链接,可处理峰值10Gbps流量,满足用户大流量需求灵灵活搭配组件:各种服务组件灵活按需搭配,不同组合匹配客户各种业务和性能需求弹性伸缩后端:支持后端服务器的弹性自动扩容和缩减,客户只需关心业务,不用关心资源瓶颈妙计业务部署:无需工程规划,布线等复杂工程部署流程,业务秒级部署,秒级上线无限量降低成本按需服务:完善的定价计费系统,便捷的资源请求,充值消费,按需分配无固定资产投入:客户无需机房,供电,施工,硬件物料等固定资产投入,轻资产部署,轻松上线无缝系统更新:所有新业务上线和故障升级都做到平滑无缝升级,保证业务不中断平滑性能提升:部署资源无法满足业务需求时,一站式扩容服务,没有硬件升级带来的诸多烦恼 若想更多了解,请参考http://www.huaweicloud.com/product/elb.html
总条数:64 到第
上滑加载中