(原创)C/C/1.25.0-dev grpc-c/8.0.0, 使用的例子是自带的例子GreeterClient grpc Unary模式下客户端创建insecure channel的主要流程 graph TD; 001(main #greeter_client.cc:81 入口调用grpc::CreateChannel)-->002(grpc::CreateChannel #create_channel.h:30 调用::grpc_impl::CreateChannelImpl) 002--…
(原创)C/C/1.25.0-dev grpc-c/8.0.0, 使用的例子是自带的例子GreeterClient 创建 default-executor 和 resolver-executor 线程的主要流程,创建channel时会创建这2个线程 graph TD; 000(grpc::InsecureChannelCredentials #credentials.h:91 调用InsecureChannelCredentials)-->001(grpc_impl::InsecureChann…
(原创)C/C/1.25.0-dev grpc-c/8.0.0, 使用的例子是自带的例子GreeterClient grpc Unary模式下客户端从开始连接到发送数据的主要流程 graph TD; 001(grpc_connector_connect #connector.cc:36 准备开始连接)-->002(chttp2_connector_connect #chttp2_connector.cc:225) 002(chttp2_connector_connect #chttp2_conn…
本文由秀依林枫提供友情赞助,首发于烂泥行天下 前两篇文章我们介绍了有关openvpn的搭建与配置文件的讲解,这篇文章我们再聊介绍下,在tun模式下openvpn客户端如何与内网机器通信的问题. 一.实际问题 先来介绍下目前的基本情况,如下: 1.openvpn服务器单网卡,通过硬件防火墙把openvpn服务器的1194端口映射到公网. 2.openvpn服务器所在的网段为192.168.5.1/24网段 3.openvpn客户端获得IP地址为10.8.0.1/24网段 要求10.8.0.1/24…
<Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 在前几章中,我们做了准备工作: 1.创建ARM Resouce Group,叫LeiResourceGroup 2.创建ARM Storage Account,叫leistorageaccount 3.创建ARM Virtual Network,叫LeiARMVNet 在本章中,笔者将介绍如何在ARM模式下,创建虚拟机VM.主要分为以下几步: 1.创建第一台ARM VM LeiARMWeb0…
提起报表,大家会觉得即熟悉又陌生,好像常常在工作中使用,又似乎无法准确描述报表.今天我们来一起了解一下什么是报表,报表的结构.构成元素,以及为什么需要报表. 什么是报表 简单的说:报表就是通过表格.图表等形式来动态显示数据,并为使用者提供浏览.打印.导出和分析的功能,可以用公式表示为: 报表 = 多样的布局 + 动态的数据 + 丰富的输出 报表通常包含以下组成部分: 报表首页:在报表的开始处,用来显示报表的标题.图形或说明性文字,每份报表只有一个报表首页. 页眉:用来显示报表中的字段名或对记录的…
<Windows Azure Platform 系列文章目录> 笔者在之前几章内容中,创建了ARM Resource Group,然后在这个ARM Resource Group下创建Azure Storage Account 在本章中,笔者将介绍如何在ARM模式下,创建虚拟机网络Virtual Network. 1.首先,我们先登录Azure New Portal,地址是:https://portal.azure.cn/ 2.选择More Service,然后选中Virtual Network…
在Azure的ARM模式下,创建Express Route的命令和ASM模式下是有一些区别的. 本文将介绍在ARM模式下,如果创建Express Route的Circuit. 1. 查看支持的Service Provider Get-AzureRmExpressRouteServiceProvider Name : Beijing Telecom Ethernet Id : /subscriptions//resourceGroups//providers/Microsoft.Network/e…
本文首先会和大家分享当前整个应用生命周期的演变历程,然后讲解云计算模式下 DevOps 建设包含的过程.流程规范和标准,最后讲解云原生时代到来会带来哪些改变,以及标准化的建设会有哪些改变和突破. 应用的演变历程 企业数字化转型过程和云的迭代发展是相互作用的.在 2007 年之前主要用物理机来作为我们当前应用的载体.而在 2007 年,KVM 诞生,它能让底层操作系统和一些虚拟的网络设备做一些虚拟化的输出.2007 年 - 2010 年是虚拟化发展较好的周期,VMware 和 openstack…
1. gRPC 客户端创建流程 1.1 背景 gRPC 是在 HTTP/2 之上实现的 RPC 框架,HTTP/2 是第 7 层(应用层)协议,它运行在 TCP(第 4 层 - 传输层)协议之上,相比于传统的 REST/JSON 机制有诸多的优点: 基于 HTTP/2 之上的二进制协议(Protobuf 序列化机制): 一个连接上可以多路复用,并发处理多个请求和响应: 多种语言的类库实现: 服务定义文件和自动代码生成(.proto 文件和 Protobuf 编译工具). 此外,gRPC 还提供了…
目录 Nginx+Docker部署模式下 asp.net core 获取真实的客户端ip 场景 过程还原 结论 参考资料 Nginx+Docker部署模式下 asp.net core 获取真实的客户端ip 场景 线上环境使用Nginx(安装在宿主机)+Docker进行部署,应用获取客户端ip地址不正确,获取客户端IP的代码为Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4() 过程还原 搭建一个webapi示例环境 创建一个新项目…
配套源码:https://gitee.com/jardeng/IdentitySolution 本篇将创建使用[Code-授权码]授权模式的客户端,来对受保护的API资源进行访问. 1.接上一篇项目,因为之前创建IdentityServer认证服务器没有使用IdentityServer4提供的模板,在Code授权码模式就没有进行登录.授权的界面,所以重新创建一下IdentityServer项目. 重新使用IdentityServer4模板 - is4inmem创建项目. 将之前IdentityS…
微软Azure 经典模式下创建内部负载均衡(ILB) 使用之前一定要注意自己的Azure的模式,老版的为cloud service模式,新版为ARM模式(资源组模式) 本文适用于cloud service模式 一个cloud service只能有一个ILB 创建ILB的基本思路 创建一个ILB实例,作为各进入流量的流入段 添加虚拟机的终结点作为流量的接入端 设置谁发送流量到ILB的IP地址 设置谁发送流量在某些情况下可以不设置 创建步骤 步骤一.创建ILB实例 $svc="<Cloud S…
前言 在Docker engine v1.12, 使用Swarm可以方便的创建overlay模式的网络,但是它只能被swarm下面的service所使用的,相对于container,这个网络是完全隔离的. 在v1.13,运行 containers 时,可以加入之前在swarm模式下自定义的overlay网络啦! 1.  Create swarm in one docker host (172.100.1.17) $ docker swarm init –advertise-address 172…
在ASM模式下,可以通过Manage Portal上捕获VM的Image,并创建新的VM.在ARM模式下,在Portal上目前还没有这个功能,要做VM镜像的捕获和创建新的VM需要用powershell或Azure CLI来实现. 本文将介绍如何用Powershell捕获VM的镜像,并用Powershell从这个Image创建新的VM. 一.VM的Generalized 本文采用的是Linux CentOS的机器,需要通过waageng对其进行Generalized.就是删除用户信息: [root…
最近做博友推荐,发现个小问题,用$_SERVER['REMOTE_ADDR'];得到的都是服务器的地址192.168.96.52,搜索了一下,发现问题,改为$_SERVER['HTTP_X_REAL_IP'];: nginx 代理模式下,获取客户端真实IP 在nginx中设置: proxy_set_header        Host            $host;proxy_set_header        X-Real-IP       $remote_addr;proxy_set_h…
SQL Server 2005高可用性模式下创建数据库镜像   高可用性模式下创建数据库镜像 第一步: --创建镜像用数据库-在主服务器上操作 create database db_mirror on ( name = db_mirror_data, filename = N'c:\db_mirror.mdf' ) log on ( name = db_mirror_log, filename = N'c:\db_mirror.ldf' ) go alter database db_mirror…
配套源码:https://gitee.com/jardeng/IdentitySolution 上一篇<ASP.NET Core3.1使用IdentityServer4中间件系列随笔(二):创建API项目,配置IdentityServer保护API资源>创建了受保护的API资源项目 并通过Postman获取到了access_token,再使用access_token去访问受保护的API资源,本篇将创建一个使用[ClientCredentials-客户端凭证]授权模式的客户端,来对受保护的API…
配套源码:https://gitee.com/jardeng/IdentitySolution 本篇将创建使用[ResourceOwnerPassword-资源所有者密码凭证]授权模式的客户端,来对受保护的API资源进行访问. 接上一篇项目,在IdentityServer项目Config.cs中添加一个客户端 /// 资源所有者密码凭证(ResourceOwnerPassword) /// Resource Owner其实就是User,所以可以直译为用户名密码模式. /// 密码模式相较于客户端…
构成ASP.NET Web API核心框架的消息处理管道既不关心请求消息来源于何处,也不需要考虑响应消息归于何方.当我们采用Web Host模式将一个ASP.NET应用作为目标Web API的宿主时,实际上是由ASP.NET管道解决了这两个问题.具体来说,ASP.NET自身的URL路由系统借助于HttpControllerHandler这个自定义的HttpHandler实现了ASP.NET管道和ASP.NET Web API管道之间的“连通”,但是在Self Host寄宿模式下,请求的监听.接收…
老老实实学WCF 第十篇 消息通信模式(下) 双工 在前一篇的学习中,我们了解了单向和请求/应答这两种消息通信模式.我们知道可以通过配置操作协定的IsOneWay属性来改变模式.在这一篇中我们来研究双工这种消息通信模式. 在一定程度上说,双工模式并不是与前面两种模式相提并论的模式,双工模式的配置方法同前两者不同,而且双工模式也是基于前面两种模式之上的. 在双工模式下,服务端和客户端都可以独立地调用对方,谁都不用等待谁的答复,同样也不期待对方答复,因为如果期待答复,就变成请求/应答模式了.也 就是…
原生的NIO类图使用有诸多不便,Netty向用户屏蔽了细节,在与用户交界处做了封装. 一.服务端创建时序图 步骤一:创建ServerBootstrap实例 ServerBootstrap是Netty服务端的启动辅助类,它提供了一些列的方法用于设置参数,由于参数太多,使用builder模式. 步骤二:设置并且绑定好Reactor线程池 Netty中的Reactor线程池是EventLoopGroup,它实际上就是EventLoop数组.EventLoop的职责是处理所有注册到本线程多路复用器Sel…
Self Host模式下的ASP.NET Web API与WCF非常相似,都可以寄宿在任意类型的托管应用程序中,宿主可以是Windows Form .WPF.控制台应用以及Windows Service,寄宿的请求的监听.接收 和响应功能,是通过一个类型为HttpBinding的Binding对象创建的ChannelListener管道来完成的. 一.Binding绑定模型 Binding用来创建处理和传输消息的信道栈,信道栈有一组Channel组成,Binding也由一组BindingElem…
原文:[老老实实学WCF] 第十篇 消息通信模式(下) 双工 第十篇 消息通信模式(下) 双工 在前一篇的学习中,我们了解了单向和请求/应答这两种消息通信模式.我们知道可以通过配置操作协定的IsOneWay属性来改变模式.在这一篇中我们来研究双工这种消息通信模式. 在一定程度上说,双工模式并不是与前面两种模式相提并论的模式,双工模式的配置方法同前两者不同,而且双工模式也是基于前面两种模式之上的. 在双工模式下,服务端和客户端都可以独立地调用对方,谁都不用等待谁的答复,同样也不期待对方答复,因为如…
正在 .NET 中构建一个需要使用分布式对象的应用程序,并且分布式对象的生存期由客户端控制.您的要求包括能够按值或按引用来传递对象,无论这些对象驻留在同一台计算 机上,还是驻留在同一个局域网 (LAN) 中的不同计算机上,或者是驻留在广域网 (WAN) 中的不同计算机上. 实现策略 这 种模式为在 .NET Remoting 中实现客户端激活对象提供了两种实现方式.客户端激活对象 (CAO) 和服务器激活对象 (SAO) 之间的主要区别在于,是什么控制着远程对象的生存期.在使用 CAO 的情况下…
一.客户端开发时序图 图片来源:Netty权威指南(第2版) 二.Netty客户端开发步骤 使用Netty进行客户端开发主要有以下几个步骤: 1.用户线程创建Bootstrap Bootstrap b = new Bootstrap(); Bootstrap是Socket客户端创建工具类,通过API设置创建客户端相关的参数,异步发起客户端连接. 2.创建处理客户端连接.IO读写的Reactor线程组NioEventLoopGroup EventLoopGroup group = new NioE…
socket异步通信-如何设置成非阻塞模式.非阻塞模式下判断connect成功(失败).判断recv/recvfrom成功(失败).判断send/sendto 博客分类: Linux Socket socket  原文: 将一个socket 设置成阻塞模式和非阻塞模式,使用fcntl方法,即: 设置成非阻塞模式: 先用fcntl的F_GETFL获取flags,用F_SETFL设置flags|O_NONBLOCK; 即: flags = fcntl(sockfd, F_GETFL, 0);    …
在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK) 从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource temporarily unavailable 总结: 这个错误表示资源暂时不够,能read时,读缓冲区没有数据,或者write时,写缓冲区满了.遇到这种情况,如果是阻塞 socket…
寄宿的作用是开启一个进程为Web API提供一个运行环境以解决持续监听.请求监听和响应回复,即将接收到的请求转换成HttpRequestMessage对象传入管道,并将管道生成并经过处理后的HttpResponseMessage回复给客户端.寄宿模式分两种,即Web Host模式和Self Host模式,不同模式下采用的机制不一样,我们先来看看Web Host模式下的消息处理管道. 由前几篇可知,在Web Host模式下,是开启一个ASP.NET Web应用作为Web API的宿主,它借助ASP…
spark on yarn模式下配置spark-sql访问hive元数据 目的:在spark on yarn模式下,执行spark-sql访问hive的元数据.并对比一下spark-sql 和hive的效率. 软件环境: hadoop2.7.3 apache-hive-2.1.1-bin spark-2.1.0-bin-hadoop2.7 jd1.8 hadoop是伪分布式安装的,1个节点,2core,4G内存. hive是远程模式. spark的下载地址: http://spark.apach…