1、什么是web2.0、web1.0
web1.0:用户只能通过浏览器获取内容,浏览以及创作好的内容。HTML 读
web2.0:用户与系统进行交互。用户既是网络内容的获取者,同时也是网络内容的提供者。读和写
web3.0: 基于个性化、订阅式、主动推送式的即时服务。我们现在就处于web3.0。人工智能????区块链????大数据????
2、什么是CAP
CAP: CAP原则又称CAP定理。
Consistency(一致性):所有节点在同一时间的数据完全一致
Availability(可用性):服务一直可用,而且是正常响应时间
Partition tolerance(分区容错性):即分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务
CAP三个特性只能满足其中两个
这确实是个头疼的问题。
详细:https://blog.csdn.net/yeyazhishang/article/details/80758354
3、什么是FLP
FLP:不可能性。在异步通信场景,即使只有一个进程失败了,没有任何算法能保证非失败进程能够达到一致性
异步通信:与同步通信最大的区别是没有时钟、不能时间同步、不能使用延时、不能探测失败、消息可任意延迟、消息可乱序
通信健壮:只要进程非失败,消息虽会被无限延迟吗,但最终会送达;并且消息仅会被送达一次(无重复)
fail-stop模型:进程失败如同宕机,不在处理任何消息。相对Byzantine模型,不会产生错误消息
协议约束:不要求所有非故障进程都达成一致,只要有一个进程进入决定状态就算达成一致,且一致结果只能是属于{0,1}
失败进程数量:最多只有一个进程失败或单节点宕机。在现实中,我们都使用TCP协议(保证了消息健壮、不重复、不乱序),每个节点都有NTP时钟同步(可以使用超时),纯的异步场景相对较少。
但随着智能终端的发展,每个手机会为省电而关机,也会因为不在服务区而离线,这样的适用场景还是存在
我们在衡量一个分布式算法是否正确时有三个标准:
termination(终止性):非失败进程最终可以做出选择
agreement(一致性):所有的进程必须做出相同的协议
validity(合法性):进程的决议值,必须是其他进程提交的请求值
终止性,描述了算法必须在有限时间内结束,不能无限循环下去;一致性描述了我们期望的相同决议;合法性是为了排除进程初始值对自身的干扰
详细:
https://www.cnblogs.com/firstdream/p/6585923.html
http://www.voidcn.com/article/p-sodexetv-boc.html
4、什么是分布式系统
https://www.cnblogs.com/zxtceq/p/9040482.html
https://blog.csdn.net/Somhu/article/details/89154390#commentBox
5、什么是服务发现
服务发现就是程序如何通过一个标志来获取服务列表,并且这个服务列表是能够随着服务的状态而动态变更。
服务发现主要存在两种模式,客户端模式和服务端模式。两者的本质区别在于,客户端是否保存服务列表信息
详细:
https://blog.csdn.net/mr_seaturtle_/article/details/77618403#consul