Topic

network

A collection of 10 issues

序列化与反序列化

常见的序列化方式有: JDK(不支持跨语言)、JSON、XML、Hessian、Kryo(不支持跨语言)、Thrift、Protostuff、FST(不支持跨语言) 技术选型关键点: 协议是否支持跨平台,序列化的速度(时间开销,系统性能),序列化出来的大小(空间开销,减轻网络、磁盘压力)。 典型的序列化和反序列化过程往往需要如下组件: * IDL(Interface description language)文件:参与通讯的各方需要对通讯的内容需要做相关的约定(Specifications)。为了建立一个与语言和平台无关的约定,这个约定需要采用与具体开发语言、平台无关的语言来进行描述。这种语言被称为接口描述语言(IDL),采用IDL撰写的协议约定称之为IDL文件。 * IDL Compiler:IDL文件中约定的内容为了在各语言和平台可见,需要有一个编译器,将IDL文件转换成各语言对应的动态库。 * Stub/Skeleton Lib:负责序列化和反序列化的工作代码。Stub是一段部署在分布式系统客户端的代码,一方面接收应用层的参数,并对其序列化后通过底层协议栈
3 min read

什么是阻塞,非阻塞,同步,异步?

2021.9更新 Todo: 5种IO模型、阻塞IO和非阻塞IO、同步IO和异步IO [https://blog.csdn.net/tjiyu/article/details/52959418] Chapter6 of Unix Network Programming.vol3 [https://mathcs.clarku.edu/~jbreecher/cs280/UNIX%20Network%20Programming(Volume1,3rd).pdf] , 尤其是6.2 I/O model ======================== 答案都来自知乎: Answer1 所谓同步异步,只是对于水壶而言。 普通水壶,同步;响水壶,异步。 虽然都能干活,但响水壶可以在自己完工之后,提示老张水开了。这是普通水壶所不能及的。 同步只能让调用者去轮询自己(
8 min read

HTTPS过程

> TLDR:使用非对称加密传输一个对称密钥K,让服务器和客户端都得知。然后两边都使用这个对称密钥K来加密解密收发数据。因为传输密钥K是用非对称加密方式,很难破解比较安全。而具体传输数据则是用对称加密方式,加快传输速度。两全其美。 HTTPS HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。 完整HTTPS请求过程: 1. 浏览器请求一个url,找到服务器,向服务器发起一个HTTPS请求。 2. 服务器将自己的证书(包含服务器公钥S_PuKey)、对称加密算法种类及其他相关信息返回客户端。 3. 浏览器检查CA证书是不是由可以信赖的CA机构颁发的,确认证书有效和此证书是此网站的。如果不是,给客户端发一个警告,询问是否继续访问。 4. 如果是,客户端使用公钥加密了一个随机对称密钥,包括加密的URL一起发送到服务器 5. 服务器用自己的私匙解密了你发送的钥匙。然后用这把对称加密的钥匙给你请求的URL链接解密。 6. 服务器用你发
6 min read

[AWS][ELB]ALB redirect for HTTPS and Multi-Sites

原始架构是AWS Fargate with ALB,DNS(不在Route53上)指向ALB。 HTTPS Redirect 先来看一下最基本的HTTPS跳转。此时DNS record是指向ALB的。 此时ALB有两个listener。Port 80 listener 的rule是进行一个redirecting, 其余不变: Default: redirecting to HTTPS://#{host}:443/#{path}?#{query}。Port 443 listener是foward到对应的target group, 完成请求传递。如下图: Multi-Site Redirect 原始需求 让去XXX.sg [http://]的http和https请求跳转至XXX.com.sg(which is on https)。ALB的原始设置就是HTTPS Redirect的情形。 思路分析 首先要让添加DNS Record,
2 min read

[AWS]API Gateway, API网关

1. API网关的一些中英文资料 * 谈谈微服务中的 API 网关(API Gateway) [https://www.cnblogs.com/savorboard/p/api-gateway.html] * 架构设计(4)--API网关 [https://blog.csdn.net/hguisu/article/details/79143584] * 架构|如何架构一个合适的企业API网关(1)API网关的介绍、应用场景、作用及常用方案 [https://cloud.tencent.com/developer/article/1131895] * (✓)API Gateway explained [https://www.youtube.com/watch?reload=9&v=
1 min read

[AWS]Fargate网络

Task Networking in AWS Fargate 本章节内容编译自这篇官方博客 [https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/]。 跑Fargate的第一步是定义ECS Task. Task是一个Logical Group,由一或多个Docker container组成,根据特定配置进行部署。当跑Fargate Task时,需要考虑两种类型的网络: * Container (local) networking * External networking Container Networking 通常用于tightly coupled application components.比方服务静态内容同时需要生成动态页面的应用,把web tier和 api tier放一起,用local networking,这样web tier可以从api tier拿信息。单机下,web tier application process可以和API process在同一机器内通过local
7 min read

[Network]记一次简单的抓包

背景 工作需要,抓包查看一下来自某ip的Request 思路 在服务器端抓包后,导入到本地用wireshark查看 具体步骤 1. 服务器安装tcpdump yum -y install tcpdump 2. ifconfig查看本地网卡 3. 执行一下命令抓包eth0的包,并保存到/tmp/zhuabao.cap tcpdump -tttt tcp -i eth0 -w /tmp/zhuabao.cap -tttt 是为了 > Print a timestamp, as hours, minutes, seconds, and fractions of a second since midnight, preceded by the date,
1 min read

Subscribe to 隅

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe