use*_*636 6 architecture rpc distributed-system
将此视为现代系统设计范例的调查:
假设我已经编写了一个程序来返回给定数字的总和.我们称之为Amazing Adder.我的目标是让这个神奇的加法器可供其他人使用.截至2018年,将这款Amazing Adder作为公开服务提供给全世界的主流和现代方式是什么?我对后端架构更感兴趣,而不是用户界面.根据我对系统设计的了解,我可以想到:
1)使这成为一个REST服务,但这个用例是否适合REST范例?我该怎么称呼我的终端?如果我正在做的是添加没有状态信息的数字,我需要支持哪些操作(更新,删除等)?
2)通过http制作这个普通的JSON RPC.因此,用户向http://www.theAmazingAdder.com/add发送http POST请求,有效负载为{'number1':2,"number2":3},我的服务将返回{'sum':3 }
3)通过Profobuf或Thrift使其成为二进制RPC格式.那有点矫枉过正吗?客户端和服务器必须具有的"代码定义"是什么?
4)传统的Python pickling或java序列化/ rmi via network?那是否合适?
我错过了其他任何流行的现代范例吗?
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |