总结

Acp是一种煎熬,需要熬过漫长的准备期,需要熬过紧张的考试。

好多年没有这样认真的学习一样东西,既要认真学习原理和知识,还需要注意细枝末节。如果继续保持这种劲头学习,钻研,自己的能力肯定会有很大的提高。

阿里的考试,还是能学到很多知识。其中最主要的是阿里的产品,同时能够学习到很多架构的知识,数据库的一些解决方案,保留企业服务的解决方案,MQ的解决方案,监控报警平台的解决方案。对算法引擎的应用场景也有一个初步的了解。

Edas是分布式企业架构服务解决方案,主要负责应用的整个生命周期管理。应用是核心。根据不同的部署方式,又分为ECS单机部署和Docker部署。Docker部署主要有Swarm,K8s容器管理方式。

浅显的理解,Edas就是一个用来企业部署自己应用的平台,提供Pass服务。Console就是Pass的操作界面。这个Pass比较牛的一点就是:普通Ecs,Swarm,K8s都支持。如果企业是微服务架构,那用起来就很方便了。HSF/Dubbo/Spring Cloud都支持,Edas集群默认提供了注册中心。还有配置中心,和spring cloud config很像,但是明显比spring cloud config功能齐全。还有定时任务,也是我最喜欢的,尽管没有开始用Edas,但是早都为定时任务想好了场景。在分布式架构中,应用中做定时任务,控制分布式锁,一直是我心中的痛。

Edas号称解决应用的全生命周期,但目前明显有一些还没有实现的功能。CICD部分,CI还没有实现,据说马上要基于Jekins实现。CD还需要再测试一下,不知道有没有实现灰度发布和滚动切换服务,服务发布会不会造成部分请求失败。日志感觉看起来没有Kibana舒服,还需要继续在实践中体验。

Edas的K8s集群管理,我还是没太搞明白,是不是要我们自己部署注册中心,介绍说是能用什么中间件。我对K8s很感兴趣,也很想在阿里上用K8s。但就是担心K8s会变,阿里9月份刚上K8s,感觉就目前的功能,只是先开放出来,还没有最佳实践,也不是推荐方式。

DRDS,心情很复杂。如果一个应用数据量比较大,用DRDS就很ok,最复杂的DRDS已经帮忙解决了。但是相比较一些小的微服务,还是能不用就不用了吧,用起来系统要考虑很多表控制的因素,对系统开发和运维人员的水平都要求高了很多。
云上的数据库Pass一直让我很纠结,如果每个微服务数据库实例独立,那意味着这个数据库配置肯定不高。就会造成效率很差,往往一个插入要几十ms,严重影响了接口的RPS。如果选一个高配置的数据库,然后几个微服务共用,感觉又不是微服务的最佳实践方式。
DRDS读写分离,相对比较容易使用,日后需要用一下。

MQ,非常棒。最关键提供了一个最终一致性解决方案,Nice。再也不用在应用中写容错,自己实现最终一致性了。MQTT也不错,提供了物联网的解决方案,以后应用场景也很多。

CSB,和我现在工作的内容很相似,但是现在公测期,没有办法试用。和我之前提出的一个方案类似,我一直认为,企业微服务架构提供一个API Gateway还不够,还是要提供一个ESB出来。恰巧,阿里也是这么认为的,而且CSB搞得比ESB好多了,特别是在对外开放服务,服务授权方面。

ARMS, 必用的工具。可以给项目锦上添花,如果仔细做好了,的确能够解决很多实际的场景。如果配上Data V,简直就是实用 + 装X。

话不多说,总结一下吧,万一不过,下次还能用到。
一. 企业分布式架构
企业分布式架构的知识点比较多。主要涉及到的知识点有:
1 分布式架构特点
2 去中心化架构(HSF)比集中化架构的优点(ESB):主要体现在可扩展性和有效预防雪崩。
3 烟囱式架构缺点
这部分内容的难点就在于要熟悉阿里的架构,最好能够知道考题的意图。因为有些选项并不会说明背景,就简单几个字,在不同的背景下,意义完全不一样。例如雪崩,在微服务架构中,也有雪崩这个词,指的是依赖服务挂掉,导致上游服务失常,从而导致雪崩,需要有服务降级。但是考试中的雪崩,主要指如果ESB挂了,那所有依赖的系统都会崩溃,引起雪崩。最好是多看一下阿里的架构方面的书籍。
二. Edas
1 Edas 控制台域名
2 配置配置中心host的域名
3 Edas Agent端口,工作方式,如果出现了异常,如何处理
4 Edas开发,支持那些编译工具:Idea,Eclipse;Eclipse插件安装
5 Dubbo是第一代RPC框架
6 Edas基础版不支持RPC框架
7 Edas Agent在每个区的安装脚本都是不一样的
8 如果配置JVM参数,需要重启Tomcat才可以生效
9 一个主帐号允许绑定5个主帐号
三. DRDS
DRDS SQL部分比较复杂,但是都不用看,没有遇到过。主要会是概念性的东西,某一个sql的权限,show rule等。不会有如何分表的sql,分几个库等。DRDS扩容,监控,架构等都会有。
1 Replace sql是不是必须要有Insert Delete权限

  1. DRDS 架构:share nothing
  2. DRDS监控哪些内容
  3. DRDS show rule
  4. DRDS 广播表是否必须是单表
  5. DRDS select是否支持复杂的表关联,子查询
  6. DRDS选择扩容的时机
  7. 分库键是否只支持HASH函数
  8. DRDS Sequect是否是唯一自增

10 select语句时,报没有权限。是什么原因:表不存在,edas报出,rds报出
四. CSB
CSB主要是服务发布,级联发布,服务授权,服务订阅。
实例群组,实例,服务组,服务
五. MQ
MQ主要考点:

  1. Consumer Id:Topic N:N
  2. Producer Id:Topic N:1
  3. Topic查询,MQ 链路查询
  4. 堆积消息,时间,是否可以跳过
  5. 事物消息
    六. ARMS
  6. 翻牌器
  7. 维表
  8. 引擎,Jstorm
  9. 哪些计算引擎不是实时的:(Jstorm,storm...)
  10. ARMS是否必须基于鹰眼
  11. 应用场景

顺序是:Edas,MQ,DRDS,CSB,ARMS,分布式架构。

上一篇:面向对象--领域模型,设计模型,实现模型总结


下一篇:面向对象--需求模型总结