做好一个内部系统要考虑的问题

本文探讨了如何设计具有良好扩展性、性能及安全性的API,同时考虑了客户端多线程并发访问的问题,并提供了关于API版本控制及命名的建议。此外,还强调了系统架构的重要性,特别是伸缩性在面对增长的访问量时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天跟同事讨论起怎么做好一个内部系统,别的系统会跟这个系统进行对接。

 

整理如下:

1.从API上的设计原则来说,以下的问题需要考虑:

1)API的扩展性要足够好,比如说,满足A用户的同时,假设用户B有新的需求,代码改动以后,不能影响A的客户端代码。常见的扩展性比较好的格式有XML API和Json,而WSDL比较差,一旦结构改动,客户端的调用代码也必须重构。

 

2)API的设计要考虑性能,比如说对于核心业务,或者访问比较频繁的API应该提供Combine的功能,可以让request一起发,结果可以一起返回。

 

3)如果给别的系统提供的是客户端的Jar包,要考虑别的系统通常很有可能在多线程中运行,要考虑多线程并发访问的问题。

 

4)API的定义中,需要加入版本号

 

5)API的命名通常也比较重要,要简单易懂,别人一看就很轻易的看看懂。

 

6)同样API的设计要考虑安全性,如果这个内部系统外网需要访问,通常可以采用OAuth1.0或者2.0的规范来设计

 

2.从架构上来说,以下几个方面需要考虑

1)平台架构同样要具有很强的伸缩性,当访问量增加后,能够通过简单的增加server的数量,就可以达到目的。

 

偶尔看到一篇好文,关于外部开放API需要考虑的问题:

http://www.xoriant.com/blog/product-ideation/public-api-points-to-consider.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值