阿里云网络架构设计(阿里云网络规划)

网络设计 903
本篇文章给大家谈谈阿里云网络架构设计,以及阿里云网络规划对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、阿里云架构设计与腾讯云架构设计的有何区别

本篇文章给大家谈谈阿里云网络架构设计,以及阿里云网络规划对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

阿里云架构设计与腾讯云架构设计的有何区别

这个问题很宽泛,阿里是自建的底层 有飞天系统

腾讯云基于kvm设计。

阿里云的自研InfluxDB集群方案剖析

本文将以阿里云在GIAC的分享《云原生InfluxDB高可用架构设计》为例,剖析阿里云的自研InfluxDB集群方案的当前实现,在分析中会尽量聚焦的相对确定的技术、架构等,考虑到非一线信息,在个别细节上难免存在理解偏差,欢迎私聊讨论:

0x0 初步结论

目前是一个过渡性质的公测方案,具备数据一致性,但接入性能有限,缺乏水平扩展能力。缺乏自定义副本数和水平扩展等能力,通过Raft或Anti-entroy提升了数据的可靠性,但受限于节点和副本的强映射,集群接入性能有限,约等同于单机接入性能,另外,基于时序分片和分布式迭代器等核心功能未提及,可能仍在预研中。

0x1 集群方案剖析

1. 背景补充:InfluxDB是DB-Engines上排名第一的TSDB,针对时序数据多写、少读、成本敏感等特点而设计的TSDB,并做了多轮架构迭代和优化,是一款实时、高性能、水平扩展(InfluxDB Enterprise)、具有成本优势的TSDB。但在2016年,Paul Dix基于商业化和持久运营的考虑,尚未成熟的集群能力在v0.11.1版后,选择闭源,推出了收费版的InfluxDB Enterprise和InfluxDB Cloud。

2. 通过Raft协议实现Meta节点的数据一致性,考虑到Meta节点存放的是Database/Rention Policy/Shard Group/Shard Info等元信息,这些信息敏感,是系统稳定运行的的关键,CP的分布式架构,合适。

3. 通过Raft协议实现Data节点的数据一致性,考虑到Data节点存储的是具体的时序数据,性能和水平扩展性是挑战,对一致性性要求不高(PPT中亦提到这一点),***用CP的分布式架构,节点和副本强映射,不仅对实时性有影响,集群接入性能亦有限,约等同于单机接入性能,不能很好的支持海量数据的实时接入的时序需求。

4. 2节点集群方案,通过Anti-entroy实现Data节点的数据一致性,应该还实现了Hinted-handoff能力,AP的分布式架构,但节点和副本还是强映射,未见提及基于时序分配、自定义副本数、分布式迭代器等能力,暂无法水平扩展。

5. 云盘能保障数据的可靠性,但无法保障接入的可用性,可用性敏感的业务或实时要求高的业务,还是推荐多节点的集群模式。

6. 开源版InfluxDB(单机)性能不错,InfluxDB Enterprise性能不错,但如何保障补齐集群能力的卓越性能,取决于集群架构、并发架构等,是由集群功能的开发者决定的,这次未见提及性能数据,期待后续的公布。

0x2 附录

阿里云企业级互联网架构实践系列-EDAS 开发(续)

前提: 关闭windows 防火墙,可以ping 通 EDAS所在IP

修改配置:***设EDAS 轻量级配置中心IP 是 10.10.10.10

修改hosts 文件 添加配置如下:

10.10.10.10 jmenv.tbsite.net

添加jvm 参数:

-Dvipserver.server.port=8080

-Daddress.server.domain=10.10.10.10

-Daddress.server.port=8080

-Dvipserver.client.port=8080

-Dpandora.location=D:/h***.sar.jar

如果本地有多个IP可以通过需要配置一下hosts 来指定注册的IP

先打开 cmd 输入hostname 命令 获取本机名称,***设是 computer1

***设需要使用的本地IP是 11.111.1.1(确保此IP和EDAS的网络之间是同的)

在hosts 文件中添加如下配置:

11.111.1.1 computer1

-Dpandora.location=D:/h***.sar.jar

指定的是潘多拉地址

添加需要的配置项:

1. 找到 ConfigCenter类,添加配置中心需要的groupID和DataID

其中groupId:是项目的包名称,确保唯一,建议网上国网统一使用 com.sgcc.osg 作为groupID。dataID,用于标识单个配置项。

2. 找到EDASConfigContextRefresher 在 registerDiamondListener***or***lications方法中添加 addListener第一参数是 ConfigCenter.DATA_ID,第二个参数是ConfigCenter.GROUP_ID。

loadConfiguration(compositePropertySource, environment, ConfigCenter. DATA_ID , ConfigCenter. GROUP_ID );

loadConfiguration方法前两个参数固定, 后面是 之前在ConfigCenter中添加的DATA_ID, 和GROUP_ID。

在本地开发的时候,应用启动前需要先在轻量级配置中心。添加配置项。

点击添加:

[图片上传失败...(image-8cefb1-15***155336559)]

在弹出框中输入在本地ConfigCentre.j***a 中配置的 groupID, 和dataId输入进去。

content 里面可以添加任意键值对。

@RestController

@RefreshScope //需要 动态刷新必加

public class Demo{

@Value(“${key1}”)

private String key1;

@Value(“${key2}”)

private String key2;

}

配置项:如下图每一个groupid, dataId,和content 对应一个配置项

分发 轻量级配置中心的时候 通过 压缩文件分发,不要copy 解压后的文件夹

如果应用列表没有数据,不能说明应用无法注册到分布式服务总线,而是应用启动失败,或者EDAS鉴权配置有问题

l 检查应用启动日志,查看是否正常启动。

如果抛出其他异常导致无法启动需要联系业务同学确认。

l 如果没有报错需要确认EDAS_SERVICE_ID 环境变量是否过程, 不能超过36

如果分布式服务总线的 服务列表是空的,就说明这个微服务没有注册到分布式服务总线

l 应用正常启动后(通过启动日志判断,出现pandora started说明启动完成),

l 查看 /etc/resolv.conf 确保EDAS的nameserver 放在首位。

l 查看 /home/admin/logs/vipsrv-logs/vipclient.log 中

l 如果有 403 access denied. 说明是容器所在宿主机的时间没有同步。需要联系云操系统的同事进行时间同步。时间同步后重启容器就可以注册成功。

l 如果有 error code 500 需要检查dncs-server 服务是否正常。

l 登录edas 物理机

l docker ps|grep dncs-server

l docker exec -it docker_id bash

l cd /home/admin/bin

l 运行sh chekc_dncs.sh

l 如果 check_dncs.sh 运行异常说明dncs-server出现问题。

l 登录edas 物理机

l docker ps|grep dncs-server

l docker exec -it docker_id bash

l cd /home/admin/bin

l 运行sh chekc_dncs.sh

l 如果 check_dncs.sh 运行异常说明dncs-server出现问题

l 出现异常后可以进行 docker restart docker_id 重启dncs-server 容器,容器重启后大概需要3-7分钟启动dncs-server 的业务,可以使用/home/admin/bin/check_dncs.sh 检查是否启动完成

l 登录edas 物理机

l docker ps|grep dncs-server

l docker exec -it docker_id bash

l cd /home/admin/bin

l 运行sh chekc_dncs.sh

l 如果 check_dncs.sh 运行异常说明dncs-server出现问题

l dmesg |grep j***a

l 如果出现Out of memory: Kill process xxxx(j***a) 说明 dncs-server 进程由于OOM被linux 系统kill

l edas 鉴权体系的隔离不同账户之间不可能互相访问

l 不同集群使用不同的k8s集群做实现,不同k8s 集群的网络是不可以相通的

l 如果使用H***协议,H***协议内部兼容了服务的负载均衡

l 如果使用spring cloud 框架下的RESTful 协议,由spring cloud 的Ribbon组件提供负载均衡

l 如果使用spring cloud 框架下的RESTful 协议,由spring cloud 的Ribbon组件重试,可以在***lication.properties 中配置ribbon 的重试策略

由于edas应用的启动依赖于pandora 容器所有需要在Junit 测试类上面添加如下配置引入pandora 容器的启动:

华为云相比阿里云有什么优势呢?两者对比。

我觉得 各有千秋吧,华为企业云在服务器安全管理维护方面是做的很到位的,还有就是 基础设备这块都是自主研发的,所以 在物理基础上 很到位。 并且***用***隔离,网络隔离和安全组规则保护,远离病毒,木马骚扰等

阿里云网络架构设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于阿里云网络规划、阿里云网络架构设计的信息别忘了在本站进行查找喔。

扫码二维码