
开发技术
文章平均质量分 90
本专栏为大家提供常用的技术框架和使用指南。
码农~明哥
七年 IT工程师一名 现目前在基金投研公司担任java 大数据开发工程师 天天不是在写软件就是在写bug的路上。
展开
-
通过MySQL binlog日志,使用canal同步分库分表数据,到 Elasticsearch
以及在 application.yml 中配置出需要链接的库表以及同步的目标地址,也就是 es 的地址。本节涉及到了简明教程中所讲解的 Sharding 分库分表 (opens new window)的使用,因为我们需要把分库分表的数据通过 canal 同步到 Elasticsearch。docs/dev-ops/tech-canal-docker-compose.yml:提供了所需的环境安装,mysql、canal-server、canal-adapter、elasticsearch、kibana。原创 2024-12-27 13:37:05 · 1150 阅读 · 0 评论 -
sharding-jdbc 使用教程和模型结构
分库分表的本质是数据的散列,分摊数据库资源压力。如把原本在一台机器上的数据库存放1000万数据,分摊到n台机上,拆分这1000万的数据和后续的增量。并不会说目前这个业务需求规模不大,就不使用分库分表,而是分库分表都是非常成熟的方案,并不会因为使用了就降低很大的开发效率。提供了 docker 配置数据库环境操作,并提供了对应的建表测试语句。那么所做的CRUD操作,都是需要使用到这个用户ID,并根据ID做路由库表计算。查询的用户ID是已经写入到数据库表里的数据,查询的时候会根据用户ID继续路由计算。原创 2024-12-27 09:52:13 · 543 阅读 · 0 评论 -
自研数据库分库分表路由组件
在 JDK 源码中,包含的数据结构设计有:数组、链表、队列、栈、红黑树,具体的实现有 ArrayList、LinkedList、Queue、Stack,而这些在数据存放都是顺序存储,并没有用到哈希索引的方式进行处理。4:为了能让数据均匀的分配到不同的库表中去,还需要考虑如何进行数据散列的操作,不能分库分表后,让数据都集中在某个库的某个表,这样就失去了分库分表的意义。1:以上就是我们实现完数据库路由组件后的一个数据源配置,在分库分表下的数据源使用中,都需要支持多数据源的信息配置,这样才能满足不同需求的扩展。原创 2024-12-27 09:22:05 · 903 阅读 · 0 评论 -
Dubbo
如果是公司里开发,会有专门的自己家部署的,私有Maven中心仓库,就可以通过 deploy 把本地 Jar 发布上去,那么公司里的伙伴,也就都可以引用了。Dubbo 的使用分为2方,一个是接口的提供方,另外一个是接口的调用方。这个信息包括:接口名称、接口入参、接口出参,只有让调用方拿到这些信息以后,它才能依托于这样的接口信息做一个代理操作,并在代理类中使用 Socket 完成双方的信息交互。而 Dubbo 也是在代理里,提供了如此的操作,对接口提供方发送请求消息,并在超时时间内返回接口信息。原创 2024-12-26 16:23:49 · 654 阅读 · 0 评论 -
Spring Security
其实就算你不使用 Spring Security 你自己做一个登录的功能,以及允许登录的用户可以操作的流程,也要做这样的事情。appAccessDeniedHandler、appUnauthorizedHandler,是自定义的鉴权拦截,如果登录不通过,可以统一返回给前端一个固定的错误码,便于跳转登录。Spring Security 在内部维护一个过滤器链,其中每个过滤器都有特定的职责,并且根据所需的服务在配置中添加或删除过滤器。那么这里所做的就是认证授权的配置,对哪些URL进行放行,哪些是要做拦截。原创 2024-12-26 13:43:18 · 930 阅读 · 0 评论 -
Spring Dependency Injection - 依赖注入使用技巧
就不知道是怎么注入的了。场景:是一个案例中使用到了 @ConditionalOnProperty 注解,我们也可以自定义一个 Conditional 的实现类,之后把这个实现类配置到需要实例化的对象上面,通过 matches 匹配条件方法的实现,决定是否实例化。场景:模拟创建 createTopic,入参的对象为注入的操作,@Qualifier 注解可以指定要注入哪个名字的对象。用途:当我们为一组接口提供实现类,并需要提供默认的注入的时候,就可以使用 @Primary 注解来限定首选注入项。原创 2024-12-26 10:54:54 · 946 阅读 · 0 评论