ICode9

精准搜索请尝试: 精确搜索
  • 微服务初学笔记2022-07-06 02:00:57

    为什么要区分向系统外部暴露采用HTTP,向系统内部暴露调用采用RPC方式? 最主要的原因还是RPC框架包含了重试机制,路由策略,负载均衡策略,高可用策略,流量控制策略等等。 如果应用进程之间只使用HTTP协议通信,显然是无法完成上述功能的。

  • go web开发 - 微服务2022-07-03 22:33:49

    微服务的定义 微服务: 将一个单体应用拆分成一组微小的服务组件,每个微小的服务组件运行在自己的进程上,组件之间通过RESTful API这样的轻量级机制进行交互,这些服务以业务能力为核心,用自动化部署机制独立部署。 微服务是一种编程架构思想,有不同的语言实现。 微服务要解决的问题 假设

  • 几行代码搞定RPC服务注册和发现2022-07-02 14:34:02

    需求分析:服务注册和发现 rpc 项目要实现的第一个功能模块就是:服务注册和发现,这个功能也是整个框架非常核心和关键的。 我们的 rpc 项目不用于生成环境,造个轮子嘛,只需要实现最基础的功能即可: 服务实例注册自己的元数据到注册中心,元数据包括:实例 ip、端口、接口描述等; 客户端实例想

  • 什么是 gRPC2022-07-02 10:03:06

    rpc(远程过程调用)是一个古老而新颖的名词,他几乎与http协议同时或更早诞生,也是互联网数据传输过程中非常重要的传输机制。 利用这种传输机制,不同进程(或服务)间像调用本地进程中的方法一般进行交互,而无需关心实现细节。 rpc的主要实现流程为: 1、客户端本地方法调用客户端stub(方法

  • RabbitMQ【3】——对比Basic.Get和Basic.Consume2022-07-01 16:05:47

    对比Basic.Get和Basic.Consume RabbitMQ实现了两个不同的AMQP RPC命令来获取队列中的消息:Basic.Get和Basic.Consume。正如本章标题所示,Basic.Get不是从服务器获取消息的理想方法。使用最简单的说法,Basic.Get是一个轮询模型,而Basic.Consume是一个推送模型。 1.1.1 Basic.Get 当你的

  • 机器学习模型并行训练2022-06-25 20:01:48

        机器学习模型的并行训练方法概括分为两类: 1、数据并行 2、模型并行   关于两者区别可参考 https://leimao.github.io/blog/Data-Parallelism-vs-Model-Paralelism/     数据并行 pytorch提供了torch.nn.parallel.DistributedDataParallel接口实现模型并行训练,具体可参考

  • 访问远程服务——RPC-REST2022-06-18 18:04:09

    远程服务调用 Remote Procedure Call RPC 位于互不重合的内存地址空间中的两个程序,在语言层面上,以同步的方式使用带宽有限的信道来传输程序控制信息   最初目的:为了让计算机能够跟调用本地方法一样去调用远程方法   解决的三个基本问题: 表示数据:序列化与反序列化(将交互双方所

  • ENVI中处理Worldview-3数据2022-06-14 15:02:38

    ENVI直接支持Worldview-3数据的处理和分析,包括正射校正、图像融合、光谱指数计算等。       如下为一景标示02A级的Worldview-3数据,即经过融合处理。其中两个TIFF图像文件,.TIL为索引文件,.PRB为RPC文件,还有其他辅助文件。 图:02A级数据       在ENVI中直接打开.TIL,自动

  • 深入浅出 RPC 框架|青训营笔记2022-06-12 20:31:24

    深入浅出 RPC 框架|青训营笔记 这是我参与「第三届青训营 -后端场」笔记创作活动的的第十二篇笔记。 本章目录: 基本概念 本地函数调用 远程函数调用(RPC - Remote Procedure Calls) 因为不是一个栈,因此每个函数需要搞一个ID,把对应的函数的ID传过去。 把对应的数据转成字节流传

  • rpc的正确打开方式|读懂Go原生net/rpc包2022-06-11 09:34:33

    前言 最近在阅读字节跳动开源RPC框架Kitex的源码,分析了如何借助命令行,由一个IDL文件,生成client和server的脚手架代码,也分析了Kitex的日志组件klog。当然Kitex还有许多其他组件:服务注册、发现、负载均衡、熔断、限流等等,后续我也会继续分析。 我希望借助这篇文章,用尽可能少的语言,配

  • 关于Rpc框架的基本实现2022-06-11 01:31:21

    首先服务提供者和消费者间要有一个公共类 public class RpcRequest implements Serializable { Class clazz; Method method; Object object; public Class getClazz() { return clazz; } public void setClazz(Class clazz) { this.c

  • 使用HttpClient实现RPC-post请求操作2022-06-10 18:08:56

    @Test public void testPostDemo() { // 1. 创建一个http工具类,作用类似浏览器 CloseableHttpClient client = HttpClients.createDefault(); try { // 2.获取 uri URIBuilder uriBuilder = new URIBuilder("http://localhos

  • 微服务效率工具 goctl 深度解析(上)2022-05-30 10:00:44

    前言 本文根据 安前松 的视频分享整理而来,视频回放地址如下: https://www.bilibili.com/video/BV1Hr4y1x7Ne goctl 的由来 1. goctl 的诞生 goctl 的最早功能是为了解决 GRPC 内网调试问题,大约是在 2019 年,在我们的生产环境中,rpc 是内网隔离的,不可通过外网访问,为了快速去 mock 一些

  • Linux-NFS总结2022-05-28 13:04:50

    NFS服务 NFS:Network File System 网络文件系统,基于内核的文件系统。通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件 基于RPC(Remote Procedure CallProtocol 远程过程调用)实现RPC采用C/S模式,客户机请求程序调用进程发送一个有进程参数的调用信息到服务进程,然

  • 从0到微服务-7 服务追踪2022-05-21 23:01:19

    微服务架构常见的组成部件: 接下来,我们具体学习下微服务追踪内容: 简单理解下:其实不光微服务,之前的单体应用也有追踪系统,就是说服务提供者本身出现了问题或者服务之间调用失败,我们怎么样快速的定位到在哪个环节出现问题,这就是我们今天要学习的服务追踪系统。   服务追踪的作用 快

  • 从0到微服务-5 RPC远程服务调用2022-05-20 23:01:12

    微服务架构常见的组成部件: 接下来,我们先具体学习下如何实现RPC远程调用: 前面我们讲了服务提供者和服务消费者之间通过桥梁建立联系-注册中心。那么,我们想象一下一次微信语音通话的过程: A通讯录找到B 》》 呼叫B  》》 B接到语音通话提示  》》B 不方便接听 》》A一直等待  》

  • 连接超时时间和 rpc 超时时间2022-05-18 12:01:58

    连接超时时间:一般指建立 tcp 连接所需的时间,不包含后续 tcp 连接的使用时间。 rpc 超时时间:一般指从发起 rpc 调用,到 rpc 返回结果的时间,也可以说是从开始建立 tcp 连接到关闭 tcp 链接所需的时间,包含tcp连接的建立、rpc 接口的内部逻辑执行、tcp 断开三段时间。

  • grpc简单应用2022-05-15 18:34:36

    grpc简单应用 一、gRPC主要有4种模式 gRPC主要有4种请求和响应模式,分别是简单模式(Simple RPC)、服务端流式(Server-side streaming RPC)、客户端流式(Client-side streaming RPC)、和双向流式(Bidirectional streaming RPC)。 简单模式(Simple RPC):客户端发起请求并等待服务端响应。

  • 服务端流式RPC2022-05-15 18:34:26

    服务端流式RPC 一、前言 当数据量大或者需要不断传输数据时候,我们应该使用流式RPC,它允许我们边处理边传输数据。本篇先介绍服务端流式RPC。 服务端流式RPC:客户端发送请求到服务器,拿到一个流去读取返回的消息序列。 客户端读取返回的流,直到里面没有任何消息。 情景模拟:实时获取股票

  • Go双向流式gRPC2022-05-15 18:33:00

    Go gRPC教程-双向流式RPC 一、前言 上一篇介绍了客户端流式RPC,客户端不断的向服务端发送数据流,在发送结束或流关闭后,由服务端返回一个响应。本篇将介绍双向流式RPC。 双向流式RPC:客户端和服务端双方使用读写流去发送一个消息序列,两个流独立操作,双方可以同时发送和同时接收。 情景

  • 4-什么是RPC2022-05-14 23:34:22

    一 什么是 RPC? RPC 是指远程过程调用,也就是说两台服务器 A,B 一个应用部署在 A 服务器上,想要调用 B 服务器上应用提供的函数或方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 二 RPC 是如何通讯的? 要解决通讯的问题,主要是通过在客户端和服

  • 8-gRPC四种通信模式2022-05-14 23:33:30

    gRPC有四种通信⽅式,分别是:简单 RPC(Unary RPC)、服务端流式 RPC (Server streaming RPC)、客户端流式 RPC (Clientstreaming RPC)、双向流式 RPC(Bi-directional streaming RPC)。它们主要有以下特点: 服务类型 特点 简单 RPC ⼀般的rpc调⽤,传⼊⼀个请求对象,返回⼀个返回对象 服

  • go 语言 HTTP协议上提供jsonrpc服务2022-05-06 15:33:49

        package main import ( "io" "net/http" "net/rpc" "net/rpc/jsonrpc" ) type HelloService struct { } func (p *HelloService) Hello(request string, reply *string) error { *reply = "Hello:&

  • go语言之rpc支持json2022-04-25 20:35:13

    标准库的RPC默认采用Go语言特有的gob编码,因此从其它语言调用Go语言实现的RPC服务将比较困难。在互联网的微服务时代,每个RPC以及服务的使用者都可能采用不同的编程语言,因此跨语言是互联网时代RPC的一个首要条件。得益于RPC的框架设计,Go语言的RPC其实也是很容易实现跨语言支持的。 G

  • go-micro开发RPC服务的方法及其运行原理2022-04-24 08:00:34

    go-micro是一个知名的golang微服务框架,最新版本是v4,这篇文章将介绍go-micro v4开发RPC服务的方法及其运作原理。 基本概念 go-micro有几个重要的概念,后边开发RPC服务和介绍其运行原理的时候会用到,这里先熟悉下: Service:代表一个go-micro应用程序,Service中包括:Server、Client、Bro

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有