UDN-企业互联网技术人气社区

板块导航

浏览  : 496
回复  : 0

[iuap开发平台] 用友云开放平台之API**

[复制链接]
HRC13293373087的头像 楼主
发表于 2018-12-10 18:30:41 | 显示全部楼层 |阅读模式
本文介绍选择API**应考虑的几方面内容,API**在微服务框架中的作用,API**如何选型,用友云开放平台的API**可以做什么。

  随着互联网的快速**,当前已步入**互联、物联网时代。企业内部系统,企业与客户,企业供应链上下游之间,甚至于社会化公共数据的共享都对系统架构提出了新的需求。
  微服务框架的强势崛起,使更多企业迅速的完成了企业内部的API化,但在企业供应链和社会化开放数据和能力的强烈需求下,安全,隔离,共享成为刚性需求,所以API**就成为了企业开放的必备产品。
  很多互联网平台已基于**的设计思路,构建自身平台的API**,国内主要有京东、携程、唯品会等,国外主要有Netflix、Amazon等。

1如何选择自己的API**?
  不管用已有还是自研的API**  我们都需要从以下几个方面去考虑。
  1、安全与防护
  大型企业都把网络安全看成信息化的重中之重,作为企业数据和服务的对外出口,API**要自        带基本的安全防护功能,能够防注入,防重放,防篡改,防一定规模的DDOS攻击,自定义规则对非        法流量进行过滤。
  2、性能与稳定性
  API**就会作为企业应用核心,性能和可用性是最基本的需求要求。
  (1)从性能上来说,需要让****的时间消耗越短越好,个人觉得需要10ms以下。 系统需要采用非阻塞的IO,如epoll,NIO等。**和各种依赖的交互也需要是非阻塞的,这样才能保证整体系统的高性能。
  (2)**必须支持集群部署和高可用,能够横行扩展,支撑高并发和大流量,同时任何一个节点down掉都不能影响整体的可用性。
  (3)尽可能多套**应该支持同一管理平台和同一监控中心。 如: 一个企业的OpenAPI**和内部应用的多个系统群的不同的微服务**可以在同一监控中心进行监控。
  3、可扩展性、可维护性
  企业的需求是多样化的而且不断变化,作为基础平台的核心组件,要提供二次**能力,方便扩展以及和其他基础平台之间流程打通
  4、需求匹配度
  需要评估各API**在需求上是否能**,如: 如果是OpenAPI平台需要使用API**,那么需要看API**在合作伙伴应用接入、合作伙伴门户集成、访问**限额等OpenAPI核心需求上去思考产品是否能**要求。 如果是微服务**,那么要从微服务的运维、监控、管理等方面去思考产品是否足够强大。

2API**在微服务框架中的作用?
  1.企业安全隔离
  企业内部系统在对公有云或者外部系统集成时,需要一个明显的边界去保证自己企业的业务数据安全及权限的统一控制与管理,API**在对外开放数据和提供能力时需要提供各种通用的安全认证**。
  2.统一管理,全局入口
  在微服务架构之下,服务被拆的非常零散,**了耦合度的同时也给服务的统一管理**了难度,
  缺乏对外开放能力的全局视图管理及监控能力,API**要完成全局开放流量入口的**与管理。
  3.跨平台,跨语言,易集成,方便扩展
  用友云平台是基于JAVA语言**的微服务治理平台,在JAVA语言调用时很方便,但是PHP,C系列等其它语言调用微服务时需要**SideCar ,这就造成集成的复杂度,API**提供**的restful接口给产品在集成时提供很大便利。

3API**如何选型? 为什么是Nginx+Lua+c?
  现在开源的API**主要基于Nginx、ZUUL、Spring Cloud  Gateway、Linkerd等开源项目,但是各有特点:
  Linkerd也是一个非常有前途的项目,是基于Scala实现的、目前市面上仅有的生产级别的Service Mesh,但是资料少,学习成本高,二次**和功能扩展困难, 整体**生态还没建立起来。
  Spring Cloud  Gateway 是Spring Cloud创建了一个嵌入式Zuul代理,所以两者实质上都是Netflix Zuul, Zuul的性能不错,Zuul 2.0 本身采用了Netty 的NIO,复杂度提高了,但性能更加强悍,Zuul1.0和Spring 框架也原生集成,基于JAVA**语言,可以和Eureka,Ribbon,Hystrix等配件组合:很容易实现 身份认证,监 控,动态路由,压力测试,负载分配,静态响应等功能,Zuul 1.0已开源6年多,很易用,在实战中也**了检验,zuul 2.0 在超大型互联应用中还有坑要趟,但整体来说,在强大的java生态中zuul是一个很不错的技术选型方向。
  Nginx生态的Nginx+Lua+c,主要代表产品有kong等开源产品。kong 自2015年在github开源以后,已有1.69万+的star,其核心价值在于稳定,高性能,易扩展;基于nginx+c的Tengine在阿里巴巴集团内还在大量使用,尚在壮年;  京东更是用nginx+lua这套技术框架证实了亿万流量的**实践。虽然**效率比较低,好在**的逻辑足够简单,稳定,所以这个技术组合对这样一个业务场景尤其**。用友云API**核心部分就是基于这套框架**的。

4用友云开放平台的API**可以做什么?
  API**(API Gateway)提供了API的全生命周期管理。辅助用户简单、快速、低成本、低风险的将数据、业务逻辑或功能安全可靠的开放出来,用以实现自身系统集成、以及与合作伙伴的业务连接。目前已成功应用于用友云开放平台,APILink。
微信图片_20181210182753.jpg

  产品特性:
  1.安全防护
  支持安全认证,自定义流量过滤,黑白名单,服务降级,流量限制,熔断等基本功能。
  2.API 生命周期管理
  提供 API 创建、维护、发布、运行、下线等操作的全生命周期管理。覆盖API定义、测试、发布用以部署API.同时提供便捷的日常管理、版本管理、支持在先版本升级和快速回滚。节约因 API 管理而造成的工作量与人力。
  3.请求管理,链路追踪
  请求经过 API **,可根据您的配置进行参数类型、参数值的校验,**后端对非法请求、无效请求的资源消耗和处理成本。同时,您可以在 API **定义参数映射规则,**通过映射规则将后端服务通过映射翻译成任何形式,以**不同用户的不同需求,从而避免功能重复**。请求**全链路追踪机制,方便快捷定位问题。
  4.监控告警,统计**
  提供实时、可视化的 API 监控,包括:调用量、调用**、响应时间、错误率,让您能够清楚的了解 API 的详细信息和**用户的行为习惯。方便用户的运维管理,以便 API 的后期迭代与维护,提高效率。支持自定义**规则,来针对异常情况进行**,缩短故障处理时间。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部