JDBC核心技术

JDBC概述

数据的持久化

持久化(persistence):

把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。在Java中,数据库存取技术可分为如下几类:

  • JDBC直接访问数据库
  • JDO (Java Data Object )技术
  • 第三方O/R工具,如Hibernate, Mybatis 等

JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis等只是更好的封装了JDBC。


分布式事务

分布式事务

啥是事务

数据库事务(简称事务)是数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。

如商品订单逻辑:

  • 查询商品的库存
  • 扣减商品的库存
  • 生成订单

Spring Cloud 组件之注册中心

Eureka(已停更说明

集群架构原理:

对于eureka自身来说,其集群构建的原理简单来说就是 相互注册,相互守望,最后作为一个整体给外界提供注册服务

  • Eureka Server(类比物业公司)提供服务注册的服务,Eureka Client 会在 Eureka Server 中进行注册,这样server端注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到;
  • Eureka Client (类比业主)具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动之后,客户端将会向 Eureka Server 发送心跳(类比交物业费,默认周期为30s),如果 Eureka Server 在多个心跳周期内没有收到某个节点的心跳,Eureka Server 将会从服务注册表中把这个节点移除掉(默认90s)。


认证和认证状态的保持 - Session 和 JWT Token

认证的本质

用一句话总结,认证(Authentication)的本质,就是物理世界里的人在数字世界中确立主体 (Subject)身份的过程——通过在无信任网络中交换凭证、建立信任,从而完成身份的核验与延续。

在现实中,我们确认一个人的身份靠的是长相、声音和相处记忆。但在数字世界里,服务器与你隔着万水千山和冷冰冰的协议。服务器永远无法直接 “看到” 屏幕前的那个血肉之躯,它只能感知你发送的数据。因此,登录认证的第一重本质是映射(Mapping)

1
你的肉身(物理实体) -> 产生特定证据 -> 映射为数据库中的一行记录(User ID: 1024)。

这非常像哲学上的 “表象与物自体”——系统无法触碰你的本质(物自体),它只能通过你提供的 “证据(表象)” 来推断 “你就是你”。