新环境的这几个月,自己接触了各种各样的新技术,极大的开阔了我的视野。其中最让我感到惊叹的就是听闻已久可是从未领会其妙用——大数据。
从谷歌Dapper到阿里EagleEye
1、分布式链路追踪技术解决的问题
- 分布式系统服务非常多,很复杂
- 每个服务可能由不同项目组开发,没有一个人能详细地了解所有的系统。
- 每个服务都可能集群部署,有很多台机器,整个系统可能有成千上万台机器。
- 服务可能由不同语言开发的。
- 当需要了解系统的整体表现或系统瓶颈时,需要知道整个调用链路的每个部分的耗时情况。
- 当一次链路过程调用出错了,需要知道具体是哪个服务的哪一台机器出错,而不是到每一台机器上去看日志。
阿里招聘,优秀速来,简历投至luofei.hff@alibaba-inc.com
简历投至luofei.hff@alibaba-inc.com
坐标:杭州-余杭-西溪园区
职位:Java高级开发工程师
待遇:20~30K,13~20薪
要求:
- Java基础扎实,熟悉常见的数据结构
- 对Spring、MyBatis、SpringBoot有深入了解
- 对MySQL有深入了解,对索引、事务、锁有深入了解
- 对线程池等并发编程技术有深入了解
- 有Dubbo、RocketMQ等中间件的使用经验
新人对TDDL分库分表的一些思考
分库分表这个技术在之前一家公司其实也有接触。上一家公司在业务上按照用户水平分库的,所以避免了很多业务上的问题,但也只是基于Spring的AbstractRoutingDataSource,根据userId做了简单的路由。之前也在网上听说过sharding-jdbc等中间件,也仅限于了解。所以结合我从内网看到的关于TDDL中间件的文章和外网看到的一些文章,在这篇文章中整理一下我这个新人对分库分表的认识。
1、单库单表
【译】Cglib缺失的文档
K-D树、K-D-B树、B-K-D树
K-D树在维基百科上定义是将K维空间中的点进行分割的数据结构,D是dimensional(维度)的缩写,K-D树是BSP(Binary Space Partitioning)的一种。
维基百科的解释很正式(看的迷迷糊糊)。简单的说,K-D树就是二分查找树在K维空间的泛化(更迷糊了:joy:)。