Dev's Logging

Welcome to my blog !


Save Cash by running Kubernetes services on preemptible VMs in Google Cloud

Published at March 23, 2019 ·  1 min read

k8s 使用 gcp 的抢占式实例,在传统实例与抢占式实例同时存在的情况下,将 nodeSelector 改成 nodeAffinity 保证即使没有抢占式实例时也能保证服务的可用性。 Save Cash by running Kubernetes services on preemptible VMs in Google Cloud...

Django ORM

Published at March 21, 2019 ·  1 min read

关于 Django orm 的资源合集,如何优化 orm 的查询和 model 的设计 Django ORM...

REST – PUT vs POST – REST API Tutorial

Published at March 21, 2019 ·  1 min read

put 和 post 的区别,着重讲到了 put 是幂等,而 post 非幂等。 REST – PUT vs POST – REST API Tutorial...

为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?

Published at March 20, 2019 ·  1 min read

为何要分库分表,单表适合的上限为 200万 条,单库适合的并发上限是 2000 qps。包括分库分表的方式,range 和 hash。 为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?...

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 closure closures cluster concurrency config consumer container context 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 errgroup escaping extra fabric2 facebook-pixel financial-report flask flutter forward-proxy freelance frontend frp garbage-collector gc gcp generator gesture 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 mobile 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 reactive reactjs rebase redis redis-cluster replication resource rest restfulapi retargeting retry revenue reverse-proxy rocketmq rsa rxswift saas scaffold 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 swiftui switch syscall system-design systemctl tcp tcp-proxy thread tmpreaper token traefik trustkit tunning type typeform udp userdefaults variable vc vpn vuejs weak web web-development where widget yarn zset 削峰 宽索引 异步 看源码学-golang 窄索引 解耦 跨域 跳板机


Archives

2019 (156)