随笔分类 - [00] 框架/模式
摘要:直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。 直播易:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速
阅读全文
摘要:.Net技术栈 虽然在国内.Net技术受到互联网Java阵营挤压,但在国外.Net技术还是蛮吃香的。之前发了一篇Java微服务技术栈,同样配一篇.Net微服务技术栈。 相关套件开源地址: Ocelot 基于 .NET 5.0 编写的开源网关 Consul 配置中心、注册中心组件 Refit 一个声明
阅读全文
摘要:Java技术栈 综述 微服务架构是当前主流的分布式应用系统架构体系,而 Spring Cloud 当属其中翘楚。 SpringCloud 是一套微服务架构的规范,抽象了一套通用的开发模式,它的目的是通过抽象出这套通用的模式,让开发者更快更好地开发业务。 Spring Cloud Netflix 是由
阅读全文
摘要:直观的说,bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。 算法:1. 首先需要k个hash函数,每个函数可以把key散列
阅读全文
摘要:WebSocket 是一种网络通信协议,很多高级功能都需要它。 本文介绍 WebSocket 协议的使用方法。 一、为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HT
阅读全文
摘要:Github源代码地址 https://github.com/PeyShine/Demo.MicroServer Apollo配置中心 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等
阅读全文
摘要:1.新浪微博:史上最大的Redis集群 随着应用对高性能需求的增加,NoSQL逐渐在各大名企的系统架构中生根发芽。这里我们将为大家分享社交巨头新浪微博带来的Redis实践,首先我们看新浪微博 @启盼cobain的Redis实战经验分享:Tape is Dead,Disk is Tape,Flash
阅读全文
摘要:现在流行的redis连接客户端有StackExchange.Redis和ServiceStack.Redis,为什么选择csredis而不是这两个? .net 最有名望的 ServiceStack.Redis 早已沦为商业用途,在 .NETCore 中使用只能充值; 后来居上的 StackExcha
阅读全文
摘要:Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Mac平台。除了提供C/C++接口外,也有其他语言的移植版。 因为基于Chromium,所以CEF支持Webkit & C
阅读全文
摘要:Topshelf框架官网: http://topshelf-project.com/ 前言 在写后台代码的过程中,经常会遇到要写一些单独的服务。以前呢,直接用的是 .NET 下的 “Windows 服务” 控件开发的。 这个传统的控件开发起来很不方面,使用也不友好。发现有用 Topshelf 的,这
阅读全文
摘要:一、熔断、降级与AOP 1.1 啥是熔断? 在广义的解释中,熔断主要是指为控制股票、期货或其他金融衍生产品的交易风险,为其单日价格波动幅度规定区间限制,一旦成交价触及区间上下限,交易则自动中断一段时间(“熔即断”),或就此“躺平”而不得超过上限或下限(“熔而不断”)。 而对于微服务来说,熔断就是我们
阅读全文
摘要:本文章使用的Prism、Prism.Unity版本:7.2.0.1422 一、使用Prism.Unity构建一个Prism应用 需要说明的是:老版本的Prism,构建WPF应用是新建一个类,继承自UnityBootstrapper。但是新版本的已经不建议这么做了,而是App类直接继承自PrismAp
阅读全文
摘要:RabbitMQ官网https://www.rabbitmq.com/ 概述 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。A
阅读全文
摘要:封装的RocketMQ类库已开源在github: https://github.com/antaintan/easyrocketmq 公司的一位同事推荐使用RocketMQ, 并给出了几个流行MQ的对比, 资料来源, 阿里云帮助文档 目前RocketMQ已经成为Apache顶级项目, 作为开源软件免
阅读全文
摘要:背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增 量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此 开启了一段新
阅读全文
摘要:算法原理 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: 结构图 1bit,不用,因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用整数,所以最高位固定为0。 41bit-时间戳,用来记录时间戳,毫秒级。 - 41位可以表示个数字, - 如果只
阅读全文
摘要:# 概述 本文以淘宝为例,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 # 基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介
阅读全文
摘要:目录 1、负载均衡的由来 2、Nginx实现负载均衡 ①、普通轮询算法 ②、基于比例加权轮询 ③、基于IP路由负载 ④、基于服务器响应时间负载分配 ⑤、对不同域名实现负载均衡 在上一篇博客我们介绍了 Nginx 一个很重要的功能——代理,包括正向代理和反向代理。这两个代理的核心区别是:正向代理代理的
阅读全文
摘要:目录 1、代理 2、正向代理 3、反向代理 4、Nginx 反向代理 5、Nginx 反向代理相关指令介绍 ①、listen ②、server_name ③、location ④、proxy_pass ⑤、index Nginx 服务器的反向代理服务是其最常用的重要功能,由反向代理服务也可以衍生出很
阅读全文
摘要:目录 1、nginx.conf 的主体结构 2、全局块 3、events 块 4、http 块 ①、http 全局块 ②、server 块 上一篇博客我们将 nginx 安装在 /usr/local/nginx 目录下,其默认的配置文件都放在这个目录的 conf 目录下,而主配置文件 nginx.c
阅读全文