- 博客(13)
- 资源 (8)
- 收藏
- 关注
原创 OpenID Connect
(E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。认证请求authorize: 请求认证服务器,重定向到认证服务器登录页,用户登录后,回调client的callback方法返回授权码。OpenID 提供者生成本次授权请求的授权码,然后将此授权码包含在重定向请求中,通过浏览器将授权码返回给应用。应用向 OpenID 提供者的令牌端点发送获取令牌请求,在此请求中,包含了授权码,以获取访问令牌。
2023-06-11 16:03:53
268
原创 spring-oidc
http://localhost:8080/oauth2/authorization/messaging-client-oidc client重定向。http://localhost:9000/oauth2/authorize 重定向。
2023-06-11 16:03:19
346
原创 MySQL
复合索引,如果索引列不是复合索引的第一部分,则不使用索引(即不符合最左前缀)如果MySQL估计使用全表扫秒比使用索引快,则不适用索引。如果like是以 % 开始的,则该列上的索引不会被使用。如果条件中有or,即使其中有条件带索引也不会使用。MySQL 5.5 及之后版本的默认存储引擎。
2023-06-11 16:01:22
97
原创 redis 缓存
这样整个 Redis 就可以横向扩容了。AOF:AOF 机制对每条写入命令作为日志,以 append-only 的模式写入一个日志文件中,在 Redis 重启的时候,可以通过回放 AOF 日志中的写入指令来重新构建整个数据集。缓存击穿,就是说某个 key 非常热点,访问非常频繁,处于集中式高并发访问的情况,当这个 key 在失效的瞬间,大量的请求就击穿了缓存,直接请求数据库,就像是在一道屏障上凿开了一个洞。读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。
2023-06-11 16:01:03
97
原创 高并发(High Concurrency)指标
响应时间(Response Time):系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。每秒查询率QPS(Query Per Second):每秒响应请求数。并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。吞吐量(Throughput):单位时间内处理的请求数量。分库分表,分区,读写分离, 索引, SQL SQL执行计划。nginx负载均衡, 根据IP进行HASH到对应的服务处理。
2023-06-11 16:00:15
177
原创 sql 使用 Explain 进行分析
Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程)select_type : 查询类型,有简单查询、联合查询、子查询等。杀死进程id(就是上面命令的id列)避免大事务操作,提高系统并发能力。使用 Explain 进行分析。rows : 扫描的行数。key : 使用的索引。开启慢 SQL 记录。
2023-06-11 16:00:10
192
原创 分库分表
主库将变更写入 binlog 日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 binlog 日志拷贝到自己本地,写入一个 relay 中继日志中。接着从库中有一个 SQL 线程会从中继日志读取 binlog,然后执行 binlog 日志中的内容,也就是在自己本地再次执行一遍 SQL,这样就可以保证自己跟主库的数据是一样的。水平拆分的意思,就是把一个表的数据给弄到多个库的多个表里去,但是每个库的表结构都一样,只不过每个库表放的数据是不同的。Mycat 阿里 b2b 团队开发和开源。
2023-06-11 15:59:07
66
原创 微服务 微服务
微服务也是一个分布式系统,它将一个单体应用进行拆分成多个微服务,每个微服务独立开发、维护和部署,每个服务也都可以有自己的数据库,服务之间使用HTTP通信,互相协调完成整个系统的业务。他的缺点是分布式事务很复杂【要保证两个业务同时成功或者同时失败】,部署麻烦,技术成本高(使用多种语言进行编程),服务间通信对性能也有一定的损耗(因为使用了http进行通信)它的优点是服务之间解耦合,不同的服务可以有不同的编程语言,支持分布式和集群能够承载更大的服务器压力,支持敏捷开发。设计时为故障做好准备。
2023-06-11 15:57:36
78
原创 JDBC Data Sources
JDBC Data Sources0. IntroductionMany web applications need to access a database via a JDBC driver, to support the functionality required by that application. The Java EE Platform S
2013-09-08 09:09:17
1017
转载 Java IO读写大文件的几种方式及测试
读取文件大小:1.45G第一种,OldIO:Java代码 public staticvoid oldIOReadFile() throws IOException{BufferedReader br = new BufferedReader(new FileReader("G://lily_947.txt"));PrintWriter pw =
2013-06-04 23:14:08
1696
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人