数据集成-作业三
完整项目地址:homework3 · main · 垃圾桶 / Data-Intergration · GitLab
一 数据收集与盘点
1. 初选合适字段
一共有23张原始数据表,从中初选出的合适字段有以下:
完整项目地址:homework3 · main · 垃圾桶 / Data-Intergration · GitLab
一共有23张原始数据表,从中初选出的合适字段有以下:
完整项目链接:homework2 · main · 垃圾桶 / Data-Intergration · GitLab
操作系统使用ubuntu20.04
官网下载openjdk1.8,解压至本地,添加环境变量,使用java -version
检查。
官网下载Kafka包后,解压至本地,然后修改kafka/config/下的zookeeper.properties文件,将zookeeper端口设置为2291,并修改zookeeper日志存放地址,再修改server.properties文件,设置连接zookeeper地址为localhost:2291,并修改kafka日志地址。
a)将当前目录下所有文件备份并压缩成 tar.gz,如果成功再将备份拷贝到 /backup 目录下。
1 | tar czf backup.tar.gz * |
b) 将上述备份压缩后的文件解压到原来的目录。
1 | tar xzf /backup/backup.tar.gz ./ |
c) 将当前目录下所有后缀为.html的文件的后缀改为.htm。
1 | rename .html .htm *.html |
d) 将当前目录下所有子目录下以a开头的.cpp文件改名为以b开头的.c文件。
1 | find . -type f -name "a*.cpp" -exec rename "s/^a(.*)\.cpp$/b\$1\.c/" {} \; |
https://jinqiqing-bucket.oss-cn-nanjing.aliyuncs.com/pdf/assignment-3.pdf
https://jinqiqing-bucket.oss-cn-nanjing.aliyuncs.com/pdf/assignment-3-reading-c4.pdf
你需要负责为以下系统设计一个软件体系结构。你应该使用属性驱动设计(Attribute Driven Design,ADD)方法,并以多个视图来记录最终的体系结构。在这个作业中,三到四名学生需要组成一个小组共同完成作业。每个学生在这个作业上的得分将根据小组的表现来确定,包括个人对工作的贡献和反思。
本作业的补充阅读材料是“呼叫中心客户服务(C4)案例研究”,该案例介绍了一个大型电信公司使用的系统的初始(“一级”)架构分解。该系统包括五个主要子系统,如阅读材料中所述。一级架构在阅读材料中的图1中显示。
https://jinqiqing-bucket.oss-cn-nanjing.aliyuncs.com/pdf/assignment-2.pdf
1. Availability 可用性
通过将请求路由到多个服务器和服务实例,可以避免单个服务器或服务实例出现故障而导致整个系统不可用的情况。当一个服务器或服务实例不可用时,broker可以将请求转发到其他可用的服务器或服务实例上,从而实现系统的高可用性。
但另一方面,一个broker可能会服务于大量的客户端与服务端,这种情况下broker本身容易出现故障,整个系统也会受到影响。
**举例:**在一个电子商务网站中,订单管理系统和商品管理系统之间需要进行信息的交互。如果采用代理者模式,将交互过程交给broker,当其中一个系统出现故障时,不会影响到另一个系统的正常运行,不过broker如果故障,则都会受到影响。
**候选策略:**实现多个服务节点的负载均衡和自动故障转移,使用可靠的消息传递机制,对异常情况进行监控和处理,确保服务的可用性。采用备用broker,当原来的broker故障时自动投入。
https://jinqiqing-bucket.oss-cn-nanjing.aliyuncs.com/pdf/assignment-1.pdf
Portion of Scenario | Possible Values |
---|---|
Source | 用户、开发者、管理员 |
Stimulus | 需要在现有系统的基础上添加新的功能或改进现有功能,系统需要满足新的需求和环境变化; |
Stimulus Artifact | 代码、接口、组件、模块 |
Environment | 新的功能需求;新的技术环境;新的操作系统;新的硬件设备 |
Response | 修改/添加现有的代码或新的代码 添加新的组件或模块 对接口进行改进或添加新的接口 |
Response Measure | 所需的时间和人力成本 新的代码和现有代码的兼容性 新的组件或模块的兼容性 新的接口或改进后的接口与现有系统的兼容性 新的代码或接口的可测试性 |