当前位置: 首页 > wzjs >正文

TP5企业网站开发教程百度云建设招投标网

TP5企业网站开发教程百度云,建设招投标网,网站部分网页乱码,北京搬家公司排名前十名电话更多个人笔记:(仅供参考,非盈利) gitee: https 文章目录 基本概念grpc和简单demo 基本概念 特点: 单一职责:一个服务用来解决一个业务问题面向服务:一个服务封装并对外提供服务&am…

更多个人笔记:(仅供参考,非盈利)
gitee: https

文章目录

    • 基本概念
    • grpc和简单demo

基本概念

特点:

  • 单一职责:一个服务用来解决一个业务问题
  • 面向服务:一个服务封装并对外提供服务,也可以调用别的服务

微服务治理

  • 微服务如何发现别的微服务:服务注册中心
  • 客户端或外部服务调用的处理:通过统一的网关进行验证授权
  • 此外还有熔断限流保证高可用,负载均衡,分布式事务等等方法概念

grpc和简单demo

grpc是什么:跨平台高性能的rpc框架,多语言互通,可以比如GO创建一个服务端然后PHP/android服务端调用

proto文件: (programmer.proto)

syntax = "proto3";
package proto; //通过 package 区分不同的命名空间
//proto.ProgramRequest和other.ProgramRequest是不同的命名空间下的相同消息名
option go_package = "./protooo"; //指定 Go 包路径(生成对应文件夹)service Program{rpc Getinfo(ProgramRequest) returns(ProgramResponse){} //定义服务端处理函数
}message ProgramRequest{string name = 1; //[修饰符]类型 字段名=标识号
}message ProgramResponse{  //定义服务端响应数据格式int32 uid = 1;string username = 2;string job = 3;  repeated string hobbies = 4; //repeated是修饰符,表示为可变数组
}

当前文件夹终端下执行protoc --go_out=. --go-grpc_out=. ./programmer.proto
前面的会根据option 的包路径放置,最后的是指定proto文件
会生成对应的两个pb.go 文件 (知道和protobuf有关就行,脚手架)

server部分代码 (go run server.go

package mainimport ("context""fmt""log""net"pb "practice/proto" //这里practice是我自己的go mod的名字"google.golang.org/grpc"
)type ProgramServer struct {pb.UnimplementedProgramServer //向前兼容性保护,如果添加了新的方法//这里是嵌入的结构体
}func (s *ProgramServer) Getinfo(ctx context.Context, req *pb.ProgramRequest) (*pb.ProgramResponse, error) {// 模拟业务逻辑if req.Name == "张三" {return &pb.ProgramResponse{Uid:      1001,Username: req.Name,Job:      "软件工程师",Hobbies:  []string{"编程", "读书", "运动"},}, nil}else{return &pb.ProgramResponse{Uid:      -1,Username: req.Name,Job:      "嘿嘿嘿,不知道",Hobbies:  []string{"没有东西"},}, nil}}func main() {// 监听端口lis, err := net.Listen("tcp", ":50051")if err != nil {log.Fatal("监听失败:", err)}// 创建 gRPC 服务器s := grpc.NewServer()// 注册服务pb.RegisterProgramServer(s, &ProgramServer{})fmt.Println("gRPC 服务器启动在 :50051")if err := s.Serve(lis); err != nil {log.Fatal("服务失败: ", err)}
}
  • 导入(pb)生成好的代码中的对应的结构体和返回变量名
  • 写方法
  • 监听窗口并创建RPC服务器,注册服务

客户端代码 (go run client.go)

package mainimport ("context""log""time"pb "practice/proto" //这里practice是我自己的go mod的名字"google.golang.org/grpc""google.golang.org/grpc/credentials/insecure"
)func main() {// 连接服务器conn, err := grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials()))if err != nil {log.Fatalf("连接失败: %v", err)}defer conn.Close()// 创建客户端client := pb.NewProgramClient(conn)// 设置超时上下文,context 是必需的,用于调控grpc的生命周期ctx, cancel := context.WithTimeout(context.Background(), time.Second)defer cancel()// 调用远程方法resp, err := client.Getinfo(ctx, &pb.ProgramRequest{Name: "张三"})if err != nil {log.Fatal("调用失败", err)}log.Printf("响应: %+v", resp)
}
  • 也是导入pb包
  • 连接服务器并创建客户端
  • 设置上下文传递
  • 调用远程方法

这就是一个简答了解微服务的demo


文章转载自:

http://FQ1dOQ2E.syrzL.cn
http://6ArhmG28.syrzL.cn
http://5KxtJ4ij.syrzL.cn
http://qe6ZvrQ9.syrzL.cn
http://o8cABwwB.syrzL.cn
http://jLVOZg4N.syrzL.cn
http://gCZZxHS3.syrzL.cn
http://TN8keHtI.syrzL.cn
http://UzN2ZKLc.syrzL.cn
http://tx6eBMcY.syrzL.cn
http://leSHTMJI.syrzL.cn
http://7tenkzaH.syrzL.cn
http://8V2E9JDg.syrzL.cn
http://tjlRk0kv.syrzL.cn
http://E4DOWdwx.syrzL.cn
http://AfZPBKNI.syrzL.cn
http://eDZkWjqP.syrzL.cn
http://hxfHmDX4.syrzL.cn
http://EXRTgCja.syrzL.cn
http://t2RlCw9a.syrzL.cn
http://ZcicgEle.syrzL.cn
http://oggjpwGR.syrzL.cn
http://WmyGByao.syrzL.cn
http://Lvxj4NKm.syrzL.cn
http://t2G9VNFz.syrzL.cn
http://CGzYVweJ.syrzL.cn
http://bRNlazL7.syrzL.cn
http://dNmVu6u7.syrzL.cn
http://plbH5LaN.syrzL.cn
http://9fQgJ05f.syrzL.cn
http://www.dtcms.com/wzjs/620545.html

相关文章:

  • 永久免费企业网站建设做暧暖ox免费视频网站
  • 阿克苏网站设计外贸流程询盘
  • 网站建设怎样回答客户问题多语言企业网站建设费用
  • 怎样网站备案表备案网站可以做影视站
  • 网站常用代码wordpress php允许上传文件大小
  • 网站推广软件费用是多少郑州做网站好的公
  • 网站优化垂直化好还是扁平化好深圳网站设计合理刻
  • 威县建设局网站建设广州公司网站
  • 网站开发软件解决方案网络建设规划
  • 的网站开发工具wordpress中文版没有繁体字
  • 双通网络网站建设价格建设厅网站用户名和密码
  • 网站建设的广告语网站做cpa
  • 网站收录登录入口公司建站详细步骤
  • qt 做网站中国十大物流企业
  • 网站开发薪水php wordpress乱码
  • 网站建设英文方案东北网站建设公司
  • 静安网站开发网站建设功能覆盖范围
  • 怎么自己做直播网站嘉兴网站建设设计制作
  • 网站解析需要多长时间教育机构官网
  • 如何自己买域做网站电子商务网站建设与管理的理解
  • 上海网站制作平台中国网是什么级别的媒体
  • 北京正规网站建设公司哪家好网络营销效果好的网站
  • 黄页网站大全免费深圳模板建站平台
  • 东营北京网站建设杭州建设网站哪家好
  • 网站备份查询专门做运动鞋的网站
  • 怎么分辨网站是不是h5中国太空网站
  • 信阳做网站的公司设置网站字体
  • 阿里云可以建设多个网站wordpress jiathis 文章 去除
  • 大连html5网站建设费用二维码图片生成器在线制作
  • 手机网站建设教程网站建设开发模式h5