Dev's Logging

Welcome to my blog !


如何设计可以动态扩容缩容的分库分表方案?

Published at March 19, 2019 ·  1 min read

每个库正常承载的写入并发量是 1000,那么 32 个库就可以承载32 * 1000 = 32000 的写并发,如果每个库承载 1500 的写并发,32 * 1500 = 48000 的写并发,接近 5万/s 的写入并发,前面再加一个MQ,削峰,每秒写入 MQ 8 万条数据,每秒消费 5 万条数据。有些除非是国内排名非常靠前的这些公司,他们的最核心的系统的数据库,可能会出现几百台数据库的这么一个规模,128个库,256个库,512个库。1024 张表,假设每个表放 500 万数据,在 MySQL 里可以放 50 亿条数据。每秒的 5 万写并发,总共 50 亿条数据,对于国内大部分的互联网公司来说,其实一般来说都够了。谈分库分表的扩容,第一次分库分表,就一次性给他分个够,32 个库,1024 张表,可能对大部分的中小型互联网公司来说,已经可以支撑好几年了。 如何设计可以动态扩容缩容的分库分表方案?...

了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?

Published at March 19, 2019 ·  1 min read

redis 缓存雪崩、缓存穿透、缓存击穿三种问题的解决办法,可通过建立 redis 集群,mysql 没有返回值时缓存为 None,可以将热点数据永不过期或者将数据以一随机时间缓存到另一台 redis 中做备用查询。 了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?...

数据库SQL优化大总结之 百万级数据库优化方案 - 雲霏霏 - 博客园

Published at March 19, 2019 ·  1 min read

sql 百万级数据库的优化,最好不要使用 null,避免全表扫描。where 尽量避免 不等于、大于、小于、对字段进行表达式操作、函数操作等容易导致全表扫描的操作。 数据库SQL优化大总结之 百万级数据库优化方案 - 雲霏霏 - 博客园...

redis 都有哪些数据类型?分别在哪些场景下使用比较合适?

Published at March 19, 2019 ·  1 min read

比较有意思的一篇介绍 redis 常见的数据结构及其应用。比如无序集合 set,可以对两个集合进行交集、并集、差集的操作。对 list 通过 lrange 实现分页查询的效果 redis 都有哪些数据类型?分别在哪些场景下使用比较合适?...

MySQL性能优化的最佳20+条经验 | | 酷 壳 - CoolShell

Published at March 19, 2019 ·  1 min read

mysql 的优化经验,将大表拆成小表,对于常需要联合查询的表合成一个表,包含最近登陆一类的经常更新的数据,最好单独一张表以充分利用 mysql 自身的查询缓存 MySQL性能优化的最佳20+条经验 | | 酷 壳 - CoolShell...

Abstract Base Classes in Python – dbader.org

Published at March 18, 2019 ·  1 min read

python 中抽象基类的应用,相比于一般的类有以下几点优势:1. Abstract Base Classes (ABCs) ensure that derived classes implement particular methods from the base class at instantiation time. 2. Using ABCs can help avoid bugs and make class hierarchies easier to maintain. Abstract Base Classes in Python – dbader.org...

What’s the Difference Between TCP and UDP?

Published at March 18, 2019 ·  1 min read

简单介绍 tcp 和 udp 的不同,一个做校验保证数据可达且有序,另一个则为了传输速度只管发送不关心是否已达,常用在游戏和直播领域,追求较大的传输速度和带宽。 What’s the Difference Between TCP and UDP?...

Kubernetes autoscaling based on custom metrics without using a host port

Published at March 18, 2019 ·  1 min read

k8s in action 作者写的一篇关于 hpa 的文章,这篇文章在书中有较为详细的版本,其中需要注意的是,在使用 metrics server 时一定要注意 namespace 的一致性 Kubernetes autoscaling based on custom metrics without using a host port...

Tags

abcs accept acid activemq affinity algorithm allocation android array async aws b+tree b-tree backoff benchmark best-practices bfs big-o bigquery bind bitcount blog break broker bubble buffer cache cap cert cgroups channel citus class classmethod cluster concurrency config consumer container cookie cors crawler cronjob csrf ctr data-science data-structure database datadog dataflow datascience decorator defer dfs distributed django dns docker double-shipping drf ecosia elastic-search enumerate epoll extra fabric2 facebook-pixel financial-report flask flutter forward-proxy freelance frontend frp garbage-collector gc gcp generator get gil git golang goroutine graphql ha handbook haproxy hash hash-slot hashring hashtable hpa http http-auth http-proxy http_proxy https index init innodb instagram intergration interview ios javascript jinja2 jobboard jwt k8s kafka kibana kqueue label lambda layer4 layer7 lean levels.io linked-list linux list listen loadbalancer logs long-tail lru marketing master matplotlib memory merge metaclass metaprogramming metrics metrics-server microservices mitm model mq myisam mysql namespace nat netflix network-extension nginx nodejs nomad nosql npm oodesign openssl optimization orm pandas parallelism paramiko parkinglot patroni permission pg pipeline pixelme post postgresql postresql prefetch_related prerender private-key process proxy proxycommand put pvm python queue rabbitmq rbac react-native reactjs rebase redis redis-cluster replication resource rest restfulapi retargeting retry revenue reverse-proxy rocketmq rsa saas scaleable search-engine security select seo serverless service session set shadosocks shadowsocks shard sharding shell shopify sigint signal sigterm slack slave slow-query sniper sns socket socks5 source-code spa sql sqlalchemy sqs ssh ssl ssl-pinning stack startup state stateful stateless staticmethod string struct swift switch syscall system-design systemctl tcp tcp-proxy thread tmpreaper token traefik trustkit tunning type typeform udp variable vc vpn vuejs web web-development where yarn zset 削峰 宽索引 异步 窄索引 解耦 跨域 跳板机


Archives

2019 (141)