zhao9jack / lifebackup

lifebackup
0 stars 0 forks source link

分布式系统的设计 #3

Open zhao9jack opened 8 years ago

zhao9jack commented 8 years ago

1.各系统和模块的认证,防止其他人使用服务 2.服务的可重试性,多次执行同一操作不会重复,都带有order_id 3.宕机,异常重启的可恢复性,数据的持久化,发利息间断 4.服务的频率控制,防止一个人过多访问堵塞了系统 5.对外请求的服务也需要进行控制,例如发邮件,进行频率和优先级控制 6.主从架构是为了解决高可用性,而不是为了解决高并发的问题 7.小服务机制,小服务包含服务功能和服务状态输出fb303,这样方便监控 8.譬如打码平台,用zookeeper来实现多个打码平台之间的切换, 或自己动手实现切换 9.资金表和资金变更表,通过资金变更表可以恢复资金表到任意时刻,和为了防止宕机时写reply log(重放日志)类似。应该设计成一致性模型 10.web和交易所跨DB和跨平台的通信用类似tcp三次握手的形式,前一个返回ok后,再处理下一个

  1. btc_deposit中由于旧数据的Save操作导致cash多了。 12.更新方法升级,先切流量到www2里,然后启动www1,这样即使www1更新失败了不会影响用户 13.分批update,或删除。虽然直接写sql简单但是实际操作不可行 14.有些小程序可以,真实环境数据大就不行了,数据多或内存不足。mysql备份案例 15.充值模块不应该只抓取充值的,可以抓取所有的,历史记录,搞一个和充值无关的历史记录表 16.对外的http连接加timeout 17.开发时单一化,只做一件事,其他的单开diff。开发解耦
zhao9jack commented 8 years ago

Quorum NRW 是Write all, Read one的升级版。其实质是将Write All 的负载均衡到 Read Only 上。

zhao9jack commented 8 years ago

Distributed hash tables use a more structured key-based routing in order to attain both the decentralization of Freenet and gnutella, and the efficiency and guaranteed results of Napster。One drawback is that, like Freenet, DHTs only directly support exact-match search, rather than keyword search。All DHT topologies share some variant of the most essential property: for any key k, each node either has a node ID that owns k or has a link to a node whose node ID is closer to k

zhao9jack commented 8 years ago

2pc, 3pc, paxos, dht