apollo

Graphql-Access arguments in child resolvers

这一生的挚爱 提交于 2020-08-22 04:19:06
问题 I am using apollo-server and apollo-graphql-tools and I have following schema type TotalVehicleResponse { totalCars: Int totalTrucks: Int } type RootQuery { getTotalVehicals(color: String): TotalVehicleResponse } schema { query: RootQuery } and Resolver functions are like this { RootQuery: { getTotalVehicals: async (root, args, context) => { // args = {color: 'something'} return {}; }, TotalVehicleResponse: { totalCars: async (root, args, conext) => { // args is empty({}) here ......... .....

阿里Sentinel支持Spring Cloud Gateway啦

感情迁移 提交于 2020-08-20 08:27:16
1. 前言 4月25号,Sentinel 1.6.0 正式发布,带来 Spring Cloud Gateway 支持、控制台登录功能、改进的热点限流和注解 fallback 等多项新特性,该出手时就出手,紧跟时代潮流,昨天刚发布,今天我就要给大家分享下如何使用! 2. 介绍(本段来自Sentinel文档) Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模块,此模块中包含网关限流的规则和自定义 API 的实体和管理逻辑: GatewayFlowRule:网关限流规则,针对 API Gateway 的场景定制的限流规则,可以针对不同 route 或自定义的 API 分组进行限流,支持针对请求中的参数、Header、来源 IP 等进行定制化的限流。 ApiDefinition:用户自定义的 API 定义分组,可以看做是一些 URL 匹配的组合。比如我们可以定义一个 API 叫 myapi,请求 path 模式为 /foo/ 和 /baz/ 的都归到 myapi 这个 API 分组下面。限流的时候可以针对这个自定义的 API 分组维度进行限流。 其中网关限流规则 GatewayFlowRule 的字段解释如下: • resource:资源名称,可以是网关中的 route 名称或者用户自定义的 API 分组名称。 •

【译】为 REST API 创建可复用的 React Query 组件

时光怂恿深爱的人放手 提交于 2020-08-20 06:52:38
原文地址: medium.com/@TimKolb/cr… 译文地址: github.com/xiao-T/note… 本文版权归原作者所有,翻译仅用于学习。 每次实现一个新的 UI 组件时,我都是先实现布局,然后,mock 数据用于 defaultProps ,并提供一个空的点击监听模拟用户交互。然后,用真实的数据替换掉 mock 的函数和 props。 为了实现那些需要从服务端获取数据数据的组件,我一次次的重复着相同的操作。使用和配置 HTTP headers,反序列化逻辑、处理成功或者失败的回调、loading 状态等等,这就导致了代码的重复。 通信逻辑让可 复用的组件 来处理,是不是更好呢? 💪 开始 React 应用中那些需要使用 API 的组件需要处理大量的问题。针对每个请求,你都需要处理 loading、错误和成功的状态。 把所有的功能整合到现有的组件中势必增加组件的复杂度,这并不符合 React 组件化思想。 计算机科学不再是新鲜事物,我们也发现了一些旧时代的规则和工具。其中之一就是:分离。 编写程序只做一件事情并做好 — Doug McIlroy 我们把 Unix 管道发明者的这个理念引入到 React 组件中,React 的组件代表着 Unix 系统中的程序。通过 props 控制组件的行为,实现万能的组件。JavaScript 中通用的类型就是函数 —

Zuul中聚合Swagger的坑

怎甘沉沦 提交于 2020-08-19 23:06:23
每个服务都有自己的接口,通过Swagger来管理接口文档。在服务较多的时候我们希望有一个统一的入口来进行文档的查看,这个时候可以在Zuul中进行文档的聚合显示。 下面来看下具体的整合步骤以及采坑记录。Cloud版本:Finchley.SR2, Boot版本:2.0.6 加入Swagger的依赖: 1. <!-- Swagger --> 2. <dependency> 3. <groupId>io.springfox</groupId> 4. <artifactId>springfox-swagger-ui</artifactId> 5. <version>2.9.2</version> 6. </dependency> 7. <dependency> 8. <groupId>io.springfox</groupId> 9. <artifactId>springfox-swagger2</artifactId> 10. <version>2.9.2</version> 11. </dependency> 增加聚合代码: 1. @EnableSwagger2 2. @Component 3. @Primary 4. public class DocumentationConfig implements SwaggerResourcesProvider { 5. 6.

发现&配置中心选型

早过忘川 提交于 2020-08-17 18:41:12
发现&配置中心选型 2020-06-08 配置中心产品功能对比 功能 spring cloud config apollo nacos consul 管理端配置管理 自己开发基于gitlab管理 支持 支持 支持 配置刷新 依赖Git的WebHook<br />Spring Cloud Bus和客户端/bus/refresh http poll http poll http poll 权限控制 依赖gitlab 支持 简单 不支持 灰度发布 依赖destination 不完整 支持 支持 不支持 配置回滚 不支持 支持 支持 不支持 程序支持 java java .net java、go、node、Python、c# 最小依赖 config3 + kafka3 + zk3 + gitlab2 Config 2+Admin 3+Portal*2+Mysql nacos3 + mysql consul server、 agent 厂商 netflix 携程 阿里 HashiCorp 多环境支持 支持 支持 支持 支持 多项目支持 可以支持 支持 支持 可以支持 配置共享 支持 支持 支持 不支持 注册发现功能 无 无 有 有 注册中心对比 Nacos Eureka Consul 一致性协议 CP+AP AP CP 健康检查 TCP/HTTP/MYSQL/Client Beat

Apollo自动驾驶实践—从Apollo开发套件循迹开始

你说的曾经没有我的故事 提交于 2020-08-17 17:44:05
Apollo实践课程 第0讲 导论 第1讲:Apollo硬件连接集成—硬件介绍 1.1 车辆循迹的硬件组成 1.1.1计算单元 1.1.2 定位系统 1.1.3 CAN卡 1.2 硬件连接与通讯简介 第2讲 Apollo硬件连接集成—集成实操 2.1 CAN卡的安装和要求 2.1.1 准备工作 2.1.2 拆装工控机 2.2 将工控机安装在车辆上 2.3 定位硬件的安装 2.3.1 安装GPS天线 2.3.2 安装GPS接收机和IMU 2.4 4G路由器及显示器的安装 2.5 连接通信接口 第3讲 Apollo软件系统部署 3.1 BIOS设置 3.2 软件安装 3.2.1 计算机操作系统软件 3.2.2 硬件驱动的安装 3.2.3 应用软件的安装 3.3 操作指令 3.3.1 拉取Apollo源代码 3.3.2 启动并加入docker容器 3.3.3 编译apollo 3.3.4 apollo控制界面以及操作界面 第4讲 定位模块配置 4.1 卫星定位的基本原理 4.2 定位系统的配置 4.3 配置M2 4.3.1 配置M2——基础配置 4.3.2 配置M2——网口信息 4.3.3 配置M2——定位基站信息 4.3.4 配置M2——杆臂值 4.4 在 Apollo 软件中配置定位信息的配置文件 4.5 车辆实操 第5讲 车辆动力学标定 5.1 标定的目的和基本原理 5.2

开源 Spring Boot 中 Mongodb 多数据源扩展框架

女生的网名这么多〃 提交于 2020-08-17 05:41:11
开源 Spring Boot 中 Mongodb 多数据源扩展框架 原创 尹吉欢 猿天地 2019-04-25 在日常工作中,我们通过Spring Data Mongodb来操作Mongodb数据库,在Spring Boot中只需要引入spring-boot-starter-data-mongodb即可。 然后配置连接信息如下: 1. spring.data.mongodb.uri=mongodb://localhost:27017/test 或者 1. pring.data.mongodb.authentication-database= # Authentication database name. 2. spring.data.mongodb.database=test # Database name. 3. spring.data.mongodb.host=localhost # Mongo server host. 4. spring.data.mongodb.password= # Login password of the mongo server. 5. spring.data.mongodb.port=27017 # Mongo server port. 6. spring.data.mongodb.username= # Login user of the

阿里云MSE 2.0重磅发布,乘风破浪加速企业微服务化进程

最后都变了- 提交于 2020-08-15 17:49:04
发布会传送门 点击了解产品详情 众所周知,注册中心和配置中心是Spring Cloud 和Dubbo 等微服务架构中的重要组件,往往采用 ZooKeeper/Nacos/Eureka/Apollo 等开源方案自建,但因其依赖复杂、变更频繁,往往给客户带来的较高的建设和运维成本,同时,在 Hbase、Spark或Kafka 等大数据的环境下,会依赖 ZooKeeper 进行分布式系统的协调,此时,基于云上的托管服务,可以极大的降低运维复杂度,并提高应用可用性。相比开源自建,微服务引擎MSE 通过提供的云上监控和运维能力、多机房和多区域容灾能力、自动宕机恢复能力,实现了99.9%的可用性保障,此外,MSE提供了多打25项的开源优化,提升了注册和配置中心的易用性和性能。3分钟便能完成接入,每月最低50.16元,更是从操作和价格上降低了企业的接入成本。 据微服务引擎MSE产品经理子墚介绍,“我们除了提供注册和配置中心的托管能力,还围绕困扰开发者微服务治理过程遇到的各类运维难题,提供了包括金丝雀发布、离群实例摘除、服务鉴权、无损下线、限流降级和全链路流控的高阶微服务治理能力,极大的降低了微服务的运维难度,其组件型的产品理念还帮助客户实现了云上应用的自主可控。“目前,已有包括陆德科技、吉递换电、趣练习、企迈云商等来自出行、物联网、在线教育、新零售等行业的客户正通过 MSE 来提升运维效率

配置中心预研

三世轮回 提交于 2020-08-14 11:31:18
配置中心预研 概述 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,分环境、分集群管理配置,代码安全、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。 所以,配置中心应运而生。 选型思路 1、询问几个道友(多询问几个不同的群的道友,防止人云亦云) 2、百度大范围搜大致的看 选中几个使用广、文档多的 3、github对比issues、pull requests、insights、commits、branches、tags 4、语言对比、性能对比(通过CNCF对比) 询问道友 大致得出的可选组件为:apollo nacos eureka zk consul 百度大范围搜索 名词解释 CAP理论: CAP理论是分布式架构中重要理论 一致性(Consistency) (所有节点在同一时间具有相同的数据) 可用性(Availability) (保证每个请求不管成功或者失败都有响应) 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作) CAP 不可能都取,只能取其中2个 原因是 如果C是第一需求的话,那么会影响A的性能,因为要数据同步,不然请求结果会有差异,但是数据同步会消耗时间