[CareerCup] 10.1 Client-facing Service 面向客户服务器

简介:

10.1 Imagine you are building some sort of service that will be called by up to 1000 client applications to get simple end-of-day stock price information (open, close, high, low). You may assume that you already have the data, and you can store it in any format you wish. How would you design the client-facing service which provides the information to client applications? You are responsible for the development, rollout, and ongoing monitoring and maintenance of the feed. Describe the different methods you considered and why you would recommend your approach. Your service can use any technologies you wish, and can distribute the information to the client applications in any mechanism you choose.

这道题是一道设计题,说是有一些数据信息要给1000个客户端应用访问,问我们的用什么样的面向客户服务器来实现所有的功能。根据树中描述,我们的服务器需要易于用户使用,也要易于自己使用,可以易于未来需要的变更修改,高效和可扩展性好,那么主要有以下三种实现方法:

1. 使用txt文件,这是最简单的方法,用户在FTP服务器上下载这个文本文件,这可能一定程度上方便了维护,因为文本文件易于浏览和备份,但是访问解析起来很麻烦,尤其是添加了新数据之后。

2. 使用SQL数据库,让客户直接对数据库操作。好处是我们可以利用数据库强大的检索功能找出我们想要的一些条件搜索结果,数据库可以回朔,且备份方便,便于客户集成现有的应用程序。坏处是可能过载了,我们需要整个SQL数据库的东西来维护,还需要实现额外层来浏览和维护数据,尽管数据库很安全,但是我们不能让用户访问一些他们不应接触的数据。

3. 使用XML,如果我们的数据里固定的格式和固定的大小,例如company_name, open. high, low, losing price. 那么XML可以写出如下这样:

<root>
    <date value="2008-10-12">
        <company name="foo">
            <open>126.23</open>
            <high>130.27</hight>
            <low>122.83</low>
            <closingPrice>127.30</closingPrice>
        </company>
        <company name="bar">
            <open>52.73</open>
            <high>60.27</high>
            <low>50.29</low>
            <closingPrice>54.91</closingPrice>
        </company>
    </date>       
    <date value="2008-10-12">
    ...
    </date>
</root>

本文转自博客园Grandyang的博客,原文链接:面向客户服务器[CareerCup] 10.1 Client-facing Service ,如需转载请自行联系原博主。

相关文章
|
7月前
|
存储 监控 C++
OPC服务器与客户程序设计
OPC服务器与客户程序设计
|
8月前
|
分布式计算 网络协议 算法
【网络编程】第2章(1) 客户-服务器模型与并发处理(更新)
【网络编程】第2章(1) 客户-服务器模型与并发处理
|
11月前
|
监控
老板让我去给客户搭建Squid代理服务器(下)
老板让我去给客户搭建Squid代理服务器(下)
124 0
|
11月前
|
缓存 负载均衡 网络协议
老板让我去给客户搭建Squid代理服务器(上)
老板让我去给客户搭建Squid代理服务器(上)
678 0
|
网络协议 Python
socket库:Python实现UDP客户和服务器通信
socket库:Python实现UDP客户和服务器通信
211 1
socket库:Python实现UDP客户和服务器通信
|
机器学习/深度学习 网络协议 机器人
socket库:Python实现TCP/IP客户和服务器通信
socket库:Python实现TCP/IP客户和服务器通信
429 0
socket库:Python实现TCP/IP客户和服务器通信
|
测试技术 网络安全
软件测试面试题:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
软件测试面试题:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
268 0
|
人工智能 网络协议 网络安全
vos3000客户在设置服务器防火墙时需要打开哪些 VOS 应用端口
TCP 端口: VOS 登录: 随机端口 web:随机端口 具体端口可咨询技术人员 \ UDP 端口: SIP: 5060 5070(RC4) RTP: 10000-39999 \ ​ 然后如何修改话机注册端口  本文以vos3000为例,其他产品替换对应产品名称即可 修改配置文件地址 /home/kunshi/mbx3000/etc/softswitch.conf H323_RAS_PORT=1719 H323 注册端口,可以用逗号(,)分隔多个端口 H323_RC4_RAS_PORT=3719 H323 加密注册端口,可以用逗号(,)分隔多个端口 H323_SIGNAL_PORT=1720
|
网络协议 Unix
UNIX网络编程卷1(第三版) 客户/服务器程序示例
UNIX网络编程卷1(第三版) 客户/服务器程序示例
91 0
|
弹性计算 监控 固态存储
公有云某客户ECS ESSD云盘磁盘延迟⾼案例分享
某客户反馈了3台ECS发生云盘IO抖动,体现在IOUtil、IOWait较⾼,此案例中出现的方法论值得借鉴与参考。
公有云某客户ECS ESSD云盘磁盘延迟⾼案例分享