ambassador 学习四 grpc 处理
2024-08-24 06:28:27
实际上都是envoy 的功劳
基本环境安装参考相关文档即可
参考demo
- proto code
syntax = "proto3";
option java_multiple_files = true;
option java_package = "io.grpc.examples.helloworld";
option java_outer_classname = "HelloWorldProto";
package helloworld;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}curl -v -H "x-ambassador-test-allow: probably" http://localhost:32190//qotm/quote/1
- 部署&& 配置(所用官方yaml文件)
---
apiVersion: v1
kind: Service
metadata:
labels:
service: grpc-greet
name: grpc-greet
annotations:
getambassador.io/config: |
---
apiVersion: ambassador/v0
kind: Mapping
name: grpc_mapping
grpc: true
prefix: /helloworld.Greeter/
rewrite: /helloworld.Greeter/
service: grpc-greet
spec:
type: ClusterIP
ports:
- port: 80
name: grpc-greet
targetPort: grpc-api
selector:
service: grpc-greet
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: grpc-greet
spec:
replicas: 1
template:
metadata:
labels:
service: grpc-greet
spec:
containers:
- name: grpc-greet
image: enm10k/grpc-hello-world
ports:
- name: grpc-api
containerPort: 9999
env:
- name: PORT
value: "9999"
command:
- greeter_server
restartPolicy: Always
kubectl apply -f demo-grpc.yaml
部署状态
测试
- 测试脚本
docker run -e ADDRESS=10.6.245.140:32190 enm10k/grpc-hello-world greeter_client
测试结果
参考资料
https://www.getambassador.io/user-guide/grpc
https://github.com/rongfengliang/ambassador-learning
最新文章
- DOTA2参数收集
- SSRS 的简单使用(一)
- 非阻塞SOCKET套接字connect等待时间的实现
- sql server2008中怎样用sql语句创建数据库和数据表
- JMS学习(一)基本概念
- 可以考虑使用SublimeText编辑器替代notepad++了
- discuz!3 二次开发C#学者
- [leetcode-572-Subtree of Another Tree]
- 【JCP模式实战--ferrous-framework】ferrous前端开发框架邀您初体验
- Head First设计模式之抽象工厂模式
- [js高手之路] vue系列教程 - 绑定class与行间样式style(6)
- MySQL基于左右值编码的树形数据库表结构设计
- [Swift]LeetCode736. Lisp 语法解析 | Parse Lisp Expression
- Django实现Rbac权限管理
- thinkphp5验证码使用
- 使用parted对大于2T的磁盘进行分区
- django博客项目-设置django为中文语言
- [Java]JavaScript在这里学习
- asp.net 局域网中获取 client的机器名
- string 和 wstring
热门文章
- sqlserver create table
- oracle extract 函数简介
- “System.Runtime.InteropServices.COMException (0x80070422): 无法启动服务”解决方法
- bzoj3751 / P2312 解方程
- 20145314郑凯杰《网络对抗技术》实验5 MSF基础应用
- 20145211MSF基础应用实验
- Recover Binary Search Tree,恢复二叉排序树
- postman 安装桌面版
- jquery和dom对象相互转化的方法
- ContentNegotiatingViewResolver多种输出格式实例: json/jsp/xml/xls/pdf