国内高防cdn_ddos防火墙厂家_秒解封

国内高防cdn_ddos防火墙厂家_秒解封

介绍Palantir针对HTTP/JSON API的工具链Conjure,2018年20月20日·4分钟阅读

今天我们是Palantir针对HTTP/JSON API的工具链开源Conjure。Concure使用YAML编写的声明性API定义,以多种语言生成客户端和服务器绑定,包括Java、Typescript和Python。Concure客户端将方法调用转换为HTTP请求,并将方法参数序列化为JSON对象。Concure在Palantir的产品中定义了数百个API,并为内部和第三方应用程序提供了RPC基础设施,路由器ddos攻击防御,包括Java、Go、,和Python后端服务,以支持在Web浏览器中运行的前端Typescript应用程序。我们构建了Concure,以提高HTTP/JSON API的一致性,并使这些API的定义、讨论、审查和协作变得更加容易。最初,我们计划使用"魔术师"作为gRPC的垫脚石,但一路上我们学会了热爱它对API设计施加的限制,以及由此产生的对这些限制的关注和清晰。值得注意的是,魔术不是火箭科学;然而,正是Concure的简单性已经成为团队和开发人员之间工程速度的驱动因素。

入门

Concure API定义了数据类型和服务端点。例如,一个简单的FlightSearch API可能如下:

给定此API定义,Concure java生成器生成适合JAX-RS/Jersey服务器的服务器存根,如Dropwizard:

生成器进一步为Concure定义的类型生成不可变的值类型(例如。,数据库防御ddos,连接和SearchResult)进行内部序列化,并使用Jackson对象映射器进行反序列化(见下文)。Concure的运行库使创建客户机变得容易,例如,Java运行库的工作原理如下:

Concure还支持Python和Typescript客户机,有关示例和参考文档,请参阅相应的自述或入门指南。我们正在为魔术师go服务器和客户端开发我们的工具链,并正在试验魔术师锈迹,请继续关注!

幕后

让我们更详细地看两个方面,防御cc最有效的防火墙,代码生成器基础设施和魔术师线格式。central Concure repository为Concure定义定义了两种格式:一种简洁、可读的格式,服务作者通常使用这种格式编写API定义,以及一种机器可读的中间表示(IR)格式,用作代码生成器的输入:

国内高防cdn_ddos防火墙厂家_秒解封

从API定义到语言特定绑定的concure编译步骤

concure IR格式是自托管的,即定义为concure数据类型的集合。自举后,代码生成器可以将API定义反序列化为抽象语法树(AST),该树是在目标语言中的惯用、特定于语言的值类型上定义的。例如,Concure java generator使用Square的JavaPoet库将表示API定义的java值类型转换为服务器和客户端存根的java源代码;将API定义反序列化到AST中是免费的。类似地,Concure typescript使用ts simple ast从IR API定义生成typescript代码;同样,在引导生成器之后,反序列化步骤是免费的。Concure wire格式指示如何将客户端和服务器之间的消息编码为HTTP请求和响应。参数编码为HTTP头、路径或查询参数(对于整型或布尔型等基本类型),对于复杂对象,则编码为JSON格式的HTTP正文负载。例如,对FlightSearchService.search(..)的调用将生成对/flights/search的HTTP POST请求,并将SearchRequest参数作为JSON对象传输,格式为{"from":"MUC","to":"LHR","number":"XY123"}。在Java中,我们使用Jackson数据绑定库在Java和JSON对象之间进行序列化和反序列化。Concure验证框架定义了测试用例,通过这些测试用例,客户端和服务器实现可以评估它们是否符合规范。

讨论

我们构建Concure是为了加快开发人员编写和维护后端和前端应用程序的速度。当我们开始使用Concure时,不同的开发团队正在使用不同风格的HTTP JSON RESTish API定义,其中大多数是通过JAX-RS在Java中定义的,有些是在Golang中定义的,有些是在Python中定义的。这种差异使得定制客户端需要不同的服务,并且使得跨语言RPC非常脆弱;特别是,前端团队常常不得不猜测这些API的确切语义,并一遍又一遍地重新实现适当的客户机。Concure被认为是这些RPC变体的共同特征,是一种可以改进到现有服务器和客户端实现的机制,以便在后端和前端生态系统中提供定义良好的共享RPC框架。在开始Concure之前,我们已经调查了Swagger/OpenREST,我们发现,尽管声明我们的API足够有表现力,但定义语言实际上太有表现力了:我们的目标之一是让我们的微服务架构感觉更加一致,而Concure的局限性有助于增强API的一致性。为此,魔术师在设计上只支持HTTP的一小部分。今天,我们的RPC系统的错误修复和改进由软件基础设施团队监督,并在我们所有的软件平台上一致提供。此模型有效地将RPC问题从所有其他开发人员的权限中移除,并让他们专注于各自的核心问题空间。

下一步是什么

热门推荐
  • ddos防攻击_防ddos防火墙_超稳定

      关于最新的Linux威胁,您只需知道一点。 2014年9月底,MalwareMustDie报告了Linux操作系统的一个新威胁,称为XOR.DDoS,它形成了一......

    06-20    来源:长虹华伟

    分享
  • ddos清洗_大株红景天防高反吗_无限

      许多企业已经实施了旨在证明符合欧盟通用数据保护法规(GDPR)要求的流程和程序,这些要求将于2018年春季全面生效。然而......

    10-01    来源:长虹华伟

    分享
  • cdn防护_韩国高防vps_打不死

      您的组织是转向云还是采用混合云方法?或者您正在构建一个云策略来解决灾难恢复规划、突发事件场景或季节性等场景。或......

    01-23    来源:长虹华伟

    分享
  • 国内高防cdn_中国安防_打不死

      随着诸如云、物联网、大数据等新技术的出现,企业正在努力提高员工的技能,以应对随之而来的挑战。根据ESG 2018年度全球......

    04-07    来源:长虹华伟

    分享
  • 防ddos攻击_苍云盾护没了_新用户优惠

      引入Citrix ADC for Azure DNS专用区域继我们7月在Citrix SD-WAN for Azure虚拟WAN上发布之后,Citrix又宣布了另一个新的联合解决方案,以......

    01-22    来源:长虹华伟

    分享
  • ddos防御攻击_高防美国vps_

      在达拉斯南部更多地区的ATT1今天宣布,计划通过加速投资来扩大和增强其100%光纤ATT GigaPower的可用性提高近一倍。已经连接到......

    11-22    来源:长虹华伟

    分享
  • ddos盾_海外高防服务器租用_指南

      上个月的5月12日,星期五,一个与勒索软件变种WannaCry有关的全球性事件爆发了,目标是全世界的电脑。从个人电脑到公司和......

    04-17    来源:长虹华伟

    分享
  • 网站防御_宝可梦剑盾游戏下载_

      印度利用其全国性的生物特征识别系统Aadhaar为11亿人提供具有法律约束力的数字签名。"2015年,一项法律的修改取消了对硬件......

    12-16    来源:长虹华伟

    分享
  • ddos防御工具_ddos防攻击设备_怎么办

      美国电话电报公司(ATT无线和AT&T预付费客户提供无限的通话、文本和数据。我们密切关注飓风佛罗伦萨,我们致力于在客户......

    03-12    来源:长虹华伟

    分享
  • cdn防御cc_防火墙能不能防ddos攻击_限时优

      安全基础:互联网诈骗和您的身份 AVAST在开发安全产品方面具有专业知识,我们希望为您提供一个完整的关于互联网危险的系......

    05-29    来源:长虹华伟

    分享
返回列表
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。