在互联网应用中,流量洪峰是常有的事情。在应对流量洪峰时,通用的处理模式一般有排队、限流,这样可以非常直接有效的保护系统,防止系统被打爆。另外,通过限流技术手段,可以让整个系统的运行更加平稳。今天要与大家分享一下限流算法和C#版本的组件。 一、令牌桶算法:     令牌桶算法的基
在早期的计算机领域,限流技术(time limiting)被用作控制网络接口收发通信数据的速率。 可以用来优化性能,减少延迟和提高带宽等。 现在在互联网领域,也借鉴了这个概念, 用来为服务控制请求的速率, 如果双十一的限流, 12306的抢票等。 即使在细粒度的软件架构中,也有类似的概念。
1、Viper是什么?   Viper 是.NET平台下的Anno微服务框架的一个示例项目。入门简单、安全、稳定、高可用、全平台可监控。底层通讯可以随意切换thrift grpc。 自带服务发现、调用链追踪、Cron 调度、限流、事件总线、CQRS 、DDD、类似MVC的开发体验,插件化开
【翻译】.NET 5 Preview8发布 今天,.NET 5预览8发布了,对于.NET5.0的功能开发已经完成了,这必须要排除待处理的bug,预览8是最后一次预览版本。预计11月正式的.NET5.0版本发布之前还将发布两个正式之前的候选版本,这篇文章描述了.NET5.0版本中的一系列功能
前言   .NetCore日志,相信大家多少都接触过,博客园有关 ① AspNetCore依赖注入第三方日志组件   ②第三方日志组件Nlog,Serilog 应用方法的博文层出不穷。 结合程序的部署结构,本文分单体和微服务聊一聊AspNetCore中追踪日志流的方法。   TraceID
好久不见,前两周经历了人生第一次"伪牛市",基金和股市大起大落,更加坚信“你永远赚不到超出你认知范围之外的钱,除非靠着运气”,老韭菜诚不欺我也。 当能力与野心不匹配,只能多看书,收割那些不求甚解的韭菜。 言归正传,本文聊一聊在ASP.NET Core3.1中集成ElasticSearc
上文我们演示了使用NLog向ElasticSearch写日志的基本过程(输出的是普通文本日志),今天我们来看下如何向ES输出结构化日志、并利用Kibana中分析日志。 什么是结构化日志? 当前互联网、物联网、大数据突飞猛进,软件越复杂,查找任何给定问题的起因就越困难(且成本更高)。 在实
背景   这次的疫情让原本看似有序的但是浮躁的社会彻底打乱了,不少劳动者在多年稳定的节奏也随之而变,而我在于其中放慢了步调,从5月份放弃了一份工作同时拒绝了两份offer后回家休息加造人。休息期间接了些技术顾问的工作,看了几本书增加自己的知识量,写了几篇博客做了些之前工作的总结,也打了王者
阅读本系列文章将是“最残酷的头脑风暴,大家做好准备了吗”   本文是《打破国外垄断,开发中国人自己的编程语言》系列文章的第1篇。本系列文章的主要目的是教大家学会如何从零开始设计一种编程语言(marvel语言),并使用marvel语言开发一些真实的项目,如移动App、Web应用等。marve
一,引言   又到了新的一周了,也到了我新的分享的时间了,还记得上一周立得Flag,其中 “保证每周输出一篇文章” ,让我特别“在意”(这里用词不太恰当)。主要是我的一个大学舍友,他突然问了我一个关于写博的事情,自己也在上周开通了账号,也想着坚持写博客。在我看来,这确实是一件好事,写博不仅
作为程序员,技术能力固然很重要,但平时除了提升技术能力也别忽略了其它方面的能力。你可以写一辈子代码,但你不能一辈子只写代码。当你的技术能力足以使你在公司站稳脚跟时,你可以停下来锻炼自己的管理能力,比如职场中很重要的:解决问题的能力。而结构化思维是解决问题的万能公式,而且结构化思维是可以
Ruby 趣学笔记(一) 本文写于 2020 年 5 月 6 日 最近在 mac 上探索到了 homebrew 的使用方法,对 ruby 的兴趣直线上升,所以来学一学。 最近几年确实大家一直在唱衰 Ruby,整个社区的生态确实也不如 python 那么庞大,但是这都不妨碍 ruby 被称作
大家在平时开发中大多都会遵循接口编程,这样就可以方便实现依赖注入也方便实现多态等各种小技巧,但这种是以牺牲性能为代价换取代码的灵活性,万物皆有阴阳,看你的应用场景进行取舍。 一:背景 1. 缘由 在项目的性能改造中,发现很多方法签名的返回值都是采用IEnumerable接口,比如下面这段代
我相信大家都用过线程池,但是线程池数量设置为多少比较合理呢? 线程数的设置的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能,因此让我们一起去探索吧! 首先要考虑到 CPU 核心数,那么在 Java 中如何获取核心线程数? 可以使用 Runtime.g
千呼万唤中,WTM的Vue前后端分离版本终于和大家见面了,我曾经跟群里1000多位用户保证过Vue版本会在春天到来,吹过的牛逼总算是圆上了。     WTM一如既往地追求最大程度提高生产效率,所以内置的代码生成器那是标配,使用方式和Layui及React的一致。   增删改查,导入导
今天在改一个看似很简单以前也经常遇到的一个bug发现了很多问题。实际结果肯定没有想象的那么简单。所以我想总结一下:保证下次不会踩坑。---业务场景是点击一个按钮,会产生一个弹框。重复快速的点击多次,会产生多个弹框。那么这个问题该怎么解决呢? 1. 函数防抖节流 这两个东西我不知道看过了多少
序 我的专业与互联网没有太大关系,接触博客还是工作以后的事情。随着工作的经验增加,总想将自己的所思所得记录下来,毕竟,好记性不如烂笔头。 开始是将自己的总结在本地保存,但是本地有一个劣势,就是不能随时随地的查看,最重要的是,不能随时随地的装X,所以,最后转到了简书,转到简书,是17年的