说明:使用docker-compose 进行安装

代码框架

使用命令行工具创建

qlooctl install docker qloo-docker

运行qloo&&gloo

  • 启动
cd ./qloo-docker
docker-compose up
  • 效果

配置glooctl &&qlooctl工具

  • 下载
https://github.com/solo-io/qloo/releases
https://github.com/solo-io/gloo/releases
  • 配置环境变量

mac

cat ~/.bash_profile
export PATH=$PATH:/Users/dalong/Downloads/qloo

基本demo

  • 启动demo 服务
docker run -d -p 1234:8080 soloio/petstore-example:latest

创建petstore 的gloo upstream

使用使用命令行工具,或者直接编写文件,注意qloo-docker_default 或者根据目录命名修改

  • 使用glooctl
cat << EOF | glooctl upstream create -f -
name: petstore
type: static
spec:
hosts:
# gateway ip for the docker network
- addr: $(docker inspect qloo-docker_default -f '{{ (index .IPAM.Config 0).Gateway }}')
port: 1234
EOF
  • 使用配置文件
cat > ./_gloo_config/upstreams/petstore.yaml << EOF
name: petstore
type: static
spec:
hosts:
# gateway ip for the docker network
- addr: $(docker inspect qloo-docker_default -f '{{ (index .IPAM.Config 0).Gateway }}')
port: 1234
EOF

查看petsore 函数

 glooctl upstream get

效果

创建graphql schema

  • petstore.graphql
# The query type, represents all of the entry points into our object graph
type Query {
pets: [Pet]
pet(id: Int!): Pet
} type Mutation {
addPet(pet: InputPet!): Pet
} type Pet{
id: ID!
name: String!
status: Status!
} input InputPet{
id: ID!
name: String!
tag: String
} enum Status {
pending
available
}
  • 上传schema(qlooctl 工具)
qlooctl schema create petstore -f petstore.graphql
  • 查看注册的resolvermap(实际上就是graphql 的schema &&query && Mutation )
qlooctl resolvermap get petstore-resolvers -o yaml

效果

注册schema 的resolver

# register findPetById for Query.pets (specifying no arguments)
qlooctl resolvermap register -u petstore -f findPetById Query pets
# register a resolver for Query.pet
qlooctl resolvermap register -u petstore -f findPetById Query pet
# register a resolver for Mutation.addPet
# the request template tells QLoo to use the Variable "pet" as an argument
qlooctl resolvermap register -u petstore -f addPet Mutation addPet --request-template '{{ marshal (index .Args "pet") }}'

使用playground 查看接口

http://localhost:9090


参考资料

https://github.com/solo-io/qloo/blob/master/docs/getting_started/docker/1.md
https://qloo.solo.io/

 
 
 
 

QLoo graphql engine 学习一 基本试用(docker&&docker-compose)的更多相关文章

  1. QLoo graphql engine 学习二 基本试用(kubernetes)

    已经测试过docker&& docker-compose 的运行模式,下面测试下kubernetes的运行模式 kubernetes 我使用docker for mac qloo 安装 ...

  2. QLoo graphql engine 学习三 架构

    一张官方的参考图 说明 Storage Layer API 参考了kubernetes 的设计 qloo 组成 qloo 有qloo 服务以及envoy proxy 组合而成,envoy proxy ...

  3. QLoo graphql engine了解

    参考架构图 处理流程 使用gloo注册服务api 发现断电以及serverless 函数 更新graphql schema 在qloo的resolvermap 中连接schema定义的字段 特性 不用 ...

  4. docker学习笔记(2)——docker常用命令

    参考博客: 1.官网教程:https://docs.docker.com/reference/ 可以一边敲命令一边对照官网学习,也可以通过阅读docker --help来学习 2..视频教程:http ...

  5. Vue项目中GraphQL入门学习与应用

    1.GraphQL是什么,能干什么? 正如官网所说,GraphQL是一种用于API查询的语言.Facebook 的移动应用从 2012 年就开始使用 GraphQL.GraphQL 规范于 2015 ...

  6. Docker学习(三)认识Docker和常用命令

    Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...

  7. Docker - Docker Engine 结构结构概述

    概述 Docker Engine 结构的简单描述 ref docker 实战 第一本 docker 书 1. docker 版本 1. 版本 Docker Engine - Community 概述 ...

  8. 【开发工具 docker】值得学习的应用容器引擎docker安装

    概述: Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何 ...

  9. [Docker] docker 基础学习笔记3(共6篇)

    首先我们安装好了ssh server之后, 我们需要将这个容器commit,然后启动这个被commit的image. 启动方式: docker run -d -p 2222:22 /usr/sbin/ ...

随机推荐

  1. 牛客国庆集训派对Day6 Solution

    A    Birthday 思路:设置一个源点,一个汇点,每次对$源点对a_i, b_i , a_i 对 b_i 连一条流为1,费用为0的边$ 每个点都再连一条 1, 3, 5, 7, ....的边到 ...

  2. 史上最强网推案例,没有之一【ZW团队实战经典】

    ZW团队认为,互联网本质只有两个字:颠覆. ZW网络推广团队,是国内首个教父级网络营销团队,自1997年以来,先后参与操盘多个重大互联网项目,服务过超过150家国际500强客户,是微软公司首家官方认证 ...

  3. mongo增删改查封装(C#)

    Framework版本:.Net Framework 4 ConnectionUtil源码参见:https://www.cnblogs.com/threadj/p/10536273.html usin ...

  4. Underscore-逐行分析

    标签: // Underscore.js 1.8.3// http://underscorejs.org// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud ...

  5. DB开发之oracle

    常用命令: select table_name from user_tables;  //当前用户的表 select table_name from all_tables;  //所有用户的表 sel ...

  6. Python 读取写入配置文件 ConfigParser

    https://blog.csdn.net/piaodexin/article/details/77371343 https://www.cnblogs.com/feeland/p/4502931.h ...

  7. php面向对象多继承实现

    在PHP面向对象概念编程中,一个子类只能继承一个父类,但是从php5.4后新增traits实现代码复用机制变向达到多继承.Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立 ...

  8. 20145311 《Java程序设计》第九周学习总结

    20145311 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1JDBC 16.1.1JDBC简介 JDBC(Java DataBase Connec ...

  9. java方法和本地方法

    java中的方法有两种,java方法和本地方法. java方法:是由java语言编写,编译成字节码,存储在class文件中的.java方法是与平台无关的. 本地方法:本地方法是由其他语言(如C.C++ ...

  10. RabbitMQ入门_02_HelloWorld

    A. AMQP基础 RabbitMQ 并不是基于 Java 开发人员熟悉的 JMS 规范设计开发的,而是基于一个比 JMS 更新更合理的 AMQP (Advanced Message Queuing ...