贫瘠之地

华北无浪漫,死海扬起帆
多少个夜晚,独自望着天

0%

限流

限流是保护高并发系统的三把利器之一(限流、缓存、降级);其目的是通过对并发访问或请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务或进行流量整形

限流的类型可大致分为:

  • 限制总并发数 - 数据库连接池、线程池
  • 限制瞬时并发数 - nginx 的 limitconn 模块、Java Semaphore 限制并发
  • 限制时间窗口内的平均速率 - Guava 的 RateLimiter
  • 其他 - 根据网络流量、CPU 占用率、内存占用率等作为标准来进行限流

桶漏 & 令牌桶

阅读全文 »

背景

在 Spring 框架和 MVC 三层模式下,对于创建一个对象并对属性进行赋值的操作不需要复杂的设计

代码中创建的对象往往是一个 “贫血模型”,只用来充当数据的传递者

应该根据不同的类及其功能选择合适的对象创建方式

方式

阅读全文 »

Article-lactic-syrup-800x450.jpg (800×450) (punchdrink.com)

深红酸酒 Crimson Sour

Crimson Sour Vermouth Cocktail Recipe | PUNCH (punchdrink.com)

Sour 作为名词直接有”酸味鸡尾酒“的意思

a drink made from strong alcohol, lemon, or lime juice, sugar, and ice

Whisky Sour 威士忌酸味鸡尾酒

娜塔莎 · 大卫在她的书 Drink Lightly 中建议大家制作这杯鸡尾酒时使用大量应季的柑橘类水果

阅读全文 »

Programmers know the benefits of everything and the tradeoffs of nothing.

程序员知道任何事情的收益,却不去权衡利弊

Relational Databases Aren’t Dinosaurs, They’re Sharks - Simple Thread

背景

使用关系型数据的思想去操作 ES,会发现很多功能的实现和想象中有出入

或者 ES 能够实现很多操作,但同时又有很多限制,在解决了一些问题基础上(天然分布式适合大数据量、top hit 这种方便的功能、模糊搜索分词器),是否也引入了一些新问题

记录下 ES 难以处理的问题以及当前的处理方法,是否可以有更好的处理方式,或者选型中避免处理此类问题

阅读全文 »

Article-Anejo-Highball-500x687.jpg (500×687) (punchdrink.com)

有年代的嗨棒 Añejo Highball

[Añejo Highball Cocktail Recipe | PUNCH (punchdrink.com)](https://punchdrink.com/recipes/anejo-highball/)

añejo (plural añejos) - A tequila or rum which has been aged.

陈年的龙舌兰或者朗姆

在 90 年代风靡一时的苹果和荔枝味 “tinis” 中,出现了一类更为柔和的鸡尾酒,对世界各地的调酒方法产生了深远的影响

阅读全文 »