|
1.大家觉得现有的分布式计算系统有什么令人不爽的地方,结合自己平时工作吐槽一下。
答:我举个栗子,Redis集群是分布式的。这个集群一定要3.0以上才支持。第一次安装的时候不知道redis集群人家设计的就是不能一起重启或者关机。我实验环境安装在一台机器上了3主3从,结果一重启就回到解放前了。后来查了资料才知道,不能集中部署,就是要分散开的。一定要保证一半的主节点活着才能集群正常工作。而且主1写入后,会同步到从1.但是主2和从2上就没有刚才写入的数据。用命令行很容易看出来,但是如果做成应用软件就不好做了。
网上一大堆文章,对的少而又少。很多做了一半,或者就是转载别人的。
2.结合自身工作经验谈谈开发基于Java或C 的分布式实时计算系统时要注意哪些问题?
答:java连接这些有很多方式,比如java连接redis可以用jedis。但是不同版本的jar会有不同的效果,一定要高版本为好。C++连接redis集群就麻烦多了。其实只要是集群分布式的,对开发和运维能力都提出了较高的要求。不是分布式什么都好,也要看自己有没有能力使用和维护。我这里的开发对redis的集群就连接不上。对此社区里面的人说,这个都不会连接做什么开发?
3.结合实际工作谈谈分布式计算系统部署,数据配置同步的最佳实践。
答:这个就是找个靠谱的手册,自己做一遍。遇到问题一定要查查为什么,然后记录下来。主从的结构下,主库的写入,一定要到从库看看是不是写入了。
4.为什么现在的通用分布式计算系统很少有使用C 开发的,是否有必要出于性能考虑使用C 开发分布式计算系统?是否有特定场景一定要使用C/C 进行开发?谈谈你的看法。
答:hadoop是java做的,hadoop生态圈也就都是了和他在一起的很多storm ,spark还有hbase什么的我觉得如果都算一类的话,这个也不多。redis是c做的。c的效率还是比java高,更加贴近底层吧。java的真的比C多吗?不确定。
5.在很多时候,分布式系统的消息保序和同步需要花费额外的精力去处理,谈谈你在实际项目实战当中是如何解决这些问题的。
答:
这些的确是的。既然分布了,那么一致性就是分布式最大的挑战。所以主要的话费都在这里了。所以才有了CAP理论,并且NoSQL强调的弱一致性或者说最终一致性。
|
|