数据库
Java架构师课代表
java架构大数据每天分享干货
展开
-
Alibba资深架构师深度解析44个微服务架构设计模式,厉害厉害!
微服务的概念虽然直观易懂,但“细节是魔鬼”,微服务在实操落地的环节中存在诸多挑战。我们在为企业提供PaaS、人工智能、云原生平台等数字化转型解决方案时也发现,企业实现云原生,并充分利用PaaS能力的第一步,往往是对已有应用架构进行现代化微服务改造,而如何进行微服务拆分、设计微服务逻辑、实现微服务治理等实操问题成为很大的挑战。本文既包含了微服务的原理、原则,又包含了实际落地中的架构设计模式;既包含可举一反三的理念和概念,也包含类似领域驱动设计、Saga实现事务操作、CQRS构建事件驱动系统等具体可套用的示原创 2020-10-09 17:12:16 · 277 阅读 · 0 评论 -
阿里P7级面试必问:分布式+高并发+Redis.pdf文档资料
纵观几年来的Java面试题,你会发现每家都差不多。你仔细观察就会发现,HashMap的出现几率未免也太高了吧!连考察的知识点都一样,什么hash碰撞啊,并发问题啊!再比如JVM,无外乎考内存结构,GC算法等!因此,如果是为了面试,完全是有套路可以准备的!记住,基础再好,也架不住面试官天马行空的问,所以刷面试题还是很有必要的!下面我总结出了互联网公司java程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring原创 2020-10-07 15:01:19 · 540 阅读 · 0 评论 -
MyBatis还是JPA?终于有答案了!
对于一个和数据库打交道的程序员来说,很快会面临着一个艰难的选择。到底是选择MyBatis还是JPA呢?很多人说,技术选择,都要根据需求来,这个没错。但是,除了需求,还有很重要的一个环节,那就是队友的水平。如果你选择了一些比较高级的技术,那么就是在给整个团队埋坑。JPA的抽象层次更高,代码写起来也更简洁,但是它一点都不简单。虽然经过了多次的培训,我呆过的几个团队,还是把它用的和屎一样。我扔掉了JPA我仔细想了一下,有下面几点原因,造成了JPA在很多团队根本就玩不下去。JPA适合业务模型固定原创 2020-10-07 13:39:13 · 668 阅读 · 1 评论 -
4面京东java后端,才发现并发编程和JVM太重要了
前言永远不会有正当其时的时候,你总会觉得要么年纪太轻,要么太老,要么太忙,抑或是其他什么原因。如果你总是为找不到完美的时刻而困扰,那么,完美的时机永远不会出现。京东一面1.自我介绍,包括做过项目。2.有看过哪些JDK源码,了解哪些常用库。3.集合框架HashMap的扩容机制,ConcurrnetHashMap的原理4.jvm内存模型与gc内存回收机制5.classloader结构,是否可以自己定义一个java.lang.String类,为什么? 双亲代理机制。6.了解哪.原创 2020-09-25 16:51:49 · 472 阅读 · 0 评论 -
腾讯,开源了,高性能 RPC 框架,是要干DUBBO 吗?
Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。Tars是将腾讯内部使用的微服务架构TAF(Total Application Framework)多年的实践成果总结而成的开源项目。Tars这个名字来自《星际穿越》电影中机器人Tars, 电影中Tars有着非常友好的交互方式,任何初次接触它的人都可以轻松的和它进行交流,同时能在外太空、外星等复杂地形上,超预期的高效率的完成托付的所有任务。原创 2020-09-24 14:18:20 · 543 阅读 · 0 评论 -
Github上被疯传的Redis实战文档也太香了
前言Redis从一个不为人熟知、只有少量应用的崭新数据库,逐渐变成了内存数据库领域的事实标准。时至今日,经过大量的实践应用,Redis简洁高效、安全稳定的特性已经深入人心。那么什么是Redis?为什么我们要用Redis?Redis就像是一个HashMap,不过不是在JVM中运行,而是以一个独立进程的形式运行。一般说来,会被当作缓存使用。 因为它比数据库(mysql)快,所以常用的数据,可以考虑放在这里,这样就提高了性能。总归一个字:快!到底Redis有什么优势呢?高可靠性:..原创 2020-09-22 16:08:18 · 516 阅读 · 0 评论 -
如何利用Java代码操作索引库?
学习计划安排如下: 学了几天的Elasticserch,但都是它本身的知识点,如何通过Java语言去操作它呢? 这就好比以前学数据库,在数据库工具中通过sql语句也能实现增删改查,而在Java中就可以通过jdbc操作数据库。 这里不学原生的Elasticsearch客户端,而是直接学习spring提供的套件:SpringDataElasticsearch。 毕竟要知道,我们以前也基本没用原生的jdbc,而是用的框架,使用起来也简便。 一、创建Demo工程关于Spr原创 2020-09-21 13:54:42 · 433 阅读 · 0 评论 -
istio 常见的 10 个异常
总结使用 istio 常见的10个异常: Service 端口命名约束 流控规则下发顺序问题 请求中断分析 sidecar 和 user container 启动顺序 Ingress Gateway 和 Service 端口联动 VirtualService 作用域 VirtualService 不支持 host fragment 全链路跟踪并非完全透明接入 mTLS 导致连接中断 用户服务监听地址限制 1.原创 2020-09-18 14:01:47 · 797 阅读 · 0 评论 -
9种分布式ID生成方式,总有一款适合你
分布式ID必要性。业务量小于500W的时候单独一个mysql即可提供服务,再大点的时候就进行读写分离也可以应付过来。但当主从同步也扛不住的是就需要分表分库了,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;特别一点的如订单、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。那么这个全局唯一ID就叫分布式ID。分布式ID需满足那些条件全局唯一:基本要求就是必须保证ID是全局性唯一的。 高性能:高可用低延时,ID生成响应要快。 高可用原创 2020-09-17 14:55:25 · 329 阅读 · 0 评论 -
最全MyBatis核心配置文件总结,可以作为工具先收藏了
推荐学习腾讯后台开发,2面技术+HR面+offer审批,我只花了7天 听说你很懂源码?Spring读懂了?还有这20道源码面试题接得住吗? 重识SSM,“超高频面试点+源码解析+实战PDF”,一次性干掉全拿走前言今天这咱主要介绍一下MyBatis的全局配置文件的使用configurationmybatis-config.xml文件的头部格式我们就不说了,直接从属性开始介绍,configuration为最顶层节点,其余所有的属性都必须嵌套在configuration内,MyBatis配置原创 2020-09-16 20:44:42 · 419 阅读 · 0 评论 -
Oh! Binlog还能这样用之Canal篇
背景不知道是否你还在为下面的问题而困扰:•当你使用了redis或者其他中间件做缓存的时候,经常发现缓存和数据库的数据不一致,只能通过定时任务或者缓存过期的方式去做一些限制。•当你使用了ES做搜索工具,使用双写的那一套方法,还在为ES和数据库不是一个事务而担忧。•当你需要迁移数据的时候,也还在使用双写的方法,如果是同一个数据库的还好,如果是不同数据库就不能保证事务,那么数据一致性也是个问题,就会写很多的修复Job和检查Job。这些问题相信在很多同学的业务当中应该都遇到过,也可能因为这些问题常常增加原创 2020-09-15 15:59:57 · 534 阅读 · 0 评论 -
绝了!一个妹子 rm -rf 把公司整个数据库删没了...
经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。01事故背景安排一个妹子在一台生产服务器上安装 Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装。从网上找到卸载方法,其中要执行一行命令删除 Oracle 的安装目录,命令如下:rm-rf$ORACLE_BASE/*如果 ORACLE_BASE 这个变量没有赋值,那命令就变成了:r...原创 2020-09-14 20:30:37 · 142 阅读 · 0 评论 -
token超时刷新策略
需求分析我们在做用户中心时,对于登录用户签发其对应的token,对token设置他的固定有效期时间。我们通常会遇到一个这样的问题:在有效期内用户携带token访问没问题,当过了有效期后token失效,用户需要重新登录获取新的token。当token时间设置得很短,假如只有10分钟,那么用户当问期间每隔10分钟就要重新登录一次,这样对于用户来说是比较差的体验。一个App鉴权流程(token刷新机制):1.活跃的用户应该在无感知的情况下在token失效后获取到新的token,携带这个新的token进原创 2020-09-14 19:41:35 · 3792 阅读 · 0 评论 -
聊一聊使用事务(@Transactional)可能出现的问题
前言在之前的文章中已经对Spring中的事务做了详细的分析了,这篇文章我们来聊一聊平常工作时使用事务可能出现的一些问题(本文主要针对使用@Transactional进行事务管理的方式进行讨论)以及对应的解决方案事务失效 事务回答相关问题 读写分离跟事务结合使用时的问题事务失效事务失效我们一般要从两个方面排查问题数据库层面数据库层面,数据库使用的存储引擎是否支持事务?默认情况下MySQL数据库使用的是Innodb存储引擎(5.5版本之后),它是支持事务的,但是如果你的表特地修改了存储原创 2020-09-12 16:34:43 · 494 阅读 · 0 评论 -
玩转SpringBoot之整合 shiro 权限框架
在实际项目中,经常需要用到角色权限区分,以此来为不同的角色赋予不同的权利,分配不同的任务。比如,普通用户只能浏览;会员可以浏览和评论;超级会员可以浏览、评论和看视频课等;实际应用场景很多。毫不夸张的说,几乎每个完整的项目都会涉及到权限管理。因此,这篇文章,阿淼就带大家将 shiro 权限框架整合到 SpringBoot 中,以达到快速的实现权限管理的功能。序在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是由于 Spring Security原创 2020-09-11 15:49:02 · 357 阅读 · 0 评论 -
架构师的初级技能,选组件!(2020更新版)
2020年新版,对部分组件的描述进行了更新。19年文章参见这里。如果你在做选型方面的工作,或者想了解一些现在正在流行的技术,那么这篇文章正好适合你。本篇内容涵盖14个方面,涉及上百个框架和工具。会有你喜欢的,大概也会有你所讨厌的家伙。这是我平常工作中打交道最多的工具,大小公司都适用。如果你有更好的,欢迎留言补充。一、消息队列二、缓存三、分库分表四、数据同步五、通讯六、微服务七、分布式工具八、监控系统九、调度十、入口工具十一、OLT(A)P十二、CI/CD十三、问题排查..原创 2020-09-09 15:38:46 · 1028 阅读 · 1 评论 -
彻底搞懂 etcd 系列文章之:etcd 事务 AP
0 专辑概述etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管。etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件。《彻底搞懂 etcd 系列文章》将会从 etcd 的基本功能实践、API 接口、实现原理、源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcd。预计会有 20 篇左右的文章,笔者将会每周持续更新,欢迎关注。1 etcd 的事务 Transaction事务是键值存储中的原子 If/Then原创 2020-09-09 12:52:17 · 1696 阅读 · 0 评论