
服务端
redfivehit
这个作者很懒,什么都没留下…
展开
-
系统间通信(11)——RPC实例Apache Thrift 上篇
1、概述通过上一篇文章《架构设计:系统间通信(10)——RPC的基本概念》的介绍,相信读者已经理解了基本的RPC概念。为了加深这个理解,后面几篇文章我将详细讲解一款典型的RPC规范的实现Apache Thrift。Apache Thrift的介绍一共分为三篇文章,上篇讲解Apache Thrift的基本使用;中篇讲解Apache Thrift的工作原理(主要围绕Apache Thrift使用的消息格式封装、支持的网络IO模型和它的客户端请求处理方式);下篇对Apache Thrift的不足进行分析,并基于转载 2020-06-13 16:51:25 · 212 阅读 · 0 评论 -
netty流程介绍,组件介绍
1. 概览从高层次的角度来看Netty, 它主要为需要开发高性能应用的开发者解决了“技术”的和“体系结构”的问题。首先,它的基于 Java NIO 的异步的和事件驱动的实现,保证了高负载下应用程序性能的最大化和可伸缩性。其次, Netty 也包含了一组设计模式,将应用程序逻辑从网络层解耦,简化了开发过程,同时也最大限度地提高了可测试性、模块化以及代码的可重用性。为了可以更好的研究 Netty,本文主要对Netty的组件做一个简单的描述,以及从高层次的角度来了解各个组件是如何协作的。Netty中主转载 2020-05-26 10:18:06 · 226 阅读 · 0 评论 -
视频直播CDN系统架构简析
转自“细说云计算”公众号,点击原文链接看原文通常我们所说的视频,是指连续的图象变化每秒超过 24 帧(Frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果,这样连续的画面叫做视频。而媒体转码是指将一段多媒体包括音频、视频或者其他的内容从一种编码格式转换成为另外一种编码格式。其中内容分发网络就是大家常说的 CDN,这里主要包含流媒体服务器,负载均衡,路由重定向,视频转码,视频录制存储,防盗链,性能等相关技术内容。本文主要从直播概述、直播架构、业.转载 2020-05-18 11:32:53 · 769 阅读 · 0 评论 -
OpenResty介绍
一.前言我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者对其望而生畏。为了开发人员方便,所以接下来我们要介绍一种整合了Nginx和lua的框架,那就是OpenResty,它帮我们实现了可以用lua的规范开发,实现各种业务,并且帮我们弄清楚各个模块的编...转载 2019-09-17 18:16:12 · 1172 阅读 · 0 评论 -
微服务之服务发现
【一】微服务之服务发现概述关于微服务,近年来可谓是大火,业界也吹刮着一种实践微服务的风潮。本人有幸在去年参与到一个向微服务过渡的产品,再结合自己所学的一些知识做一个总结,同时也是一个继续学习的过程。如果说在实施微服务的所有经验中,挑出最重要的一点,那么我觉得应该是:基础设施的建设决定微服务的实施效果后面可能会写一篇关于具体踩坑的总结,大多也是关于基础设施组件的。如果在实施微服务...转载 2019-08-15 11:08:46 · 147 阅读 · 0 评论 -
分布式锁的实现方式
一、为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量只是在这个JVM内部的一块内存空间!后来业务发展,需要做集群,一个应用需要部署到几台机器上然...原创 2019-08-07 00:25:40 · 111 阅读 · 0 评论 -
JMS VS AMQP
JMS VS AMQP4.1 JMS4.1.1 JMS 简介JMS(JAVA Message Service,java消息服务)是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。JMS(JAVA Message Service,Java消息服务)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布...转载 2019-08-07 00:11:24 · 171 阅读 · 0 评论 -
用ZooKeeper来做:统一配置管理、统一命名服务、分布式锁、集群管理
我简单概括一下: ZooKeeper主要服务于分布式系统,可以用ZooKeeper来做:统一配置管理、统一命名服务、分布式锁、集群管理。 使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKeeper作为一个能够通用解决这些问题的中间件就应运而生了。 二、为什么ZooKeep...转载 2019-07-30 23:11:19 · 1284 阅读 · 1 评论 -
当我们在说微服务治理的时候究竟在说什么
自从微服务架构开始变得火热以后,越来越多的系统被拆解成了很多个细胞一样的微服务。设想一下,如果你的系统有100个微服务构成,要对这100个微服务进行管理,这绝对是一个不小的挑战。所以紧接着又出现了一堆让人头晕眼花的概念:服务注册发现,请求链路追踪,服务熔断,服务限流,服务管控配置,服务预警。还有就是一抓一大把的开源工具:Eurake,Zuul,Ribbon,hystrix,zipkin,dubbo...转载 2019-07-12 15:42:16 · 116 阅读 · 0 评论 -
F5负载均衡
网络负载均衡(load balance),就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。实际上就是,负载均衡会对外部展现一个虚拟的服务器地址,当用户试图连接时,它会将连接通过双向网络地址转换(NAT)转到最适合的真实服务器上,以完成用户的请求。下面我们就了解一下F5负载均衡。本文对F5负...转载 2019-07-12 20:20:29 · 3407 阅读 · 0 评论 -
flask和django的 比较
(1)FlaskFlask确实很“轻”,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库入门简单,即便没有多少web开发经验,也能很快做出网站非常适用于小型网站非常适用于开发web服务的API开发大...原创 2019-05-09 17:02:43 · 162 阅读 · 0 评论 -
PHP和Golang,在开发速度,性能,安全性,可伸缩性等方面区别
Golang性能Golang和PHP的表现速度差异很大。Kairos报告说,当客户从PHP构建转移到Golang时,其客户报告API事务速度提高了8倍。发生这种情况是因为Golang比PHP更有效地处理数据处理。此外,由于编译方面的原因,即使是糟糕的Golang代码也会优于良好的PHP代码,从而提高性能。更重要的是,最终用户可以获得快速执行的应用程序。代码量不同快速上市必须是Golan...转载 2019-05-14 15:37:34 · 5236 阅读 · 3 评论