随笔分类 -  11 架构设计

摘要:1. JWT 介绍 JSON Web Token(JWT)是一个开放式标准(RFC 7519),它定义了一种紧凑(Compact)且自包含(Self-contained)的方式,用于在各方之间以JSON对象安全传输信息。 这些信息可以通过数字签名进行验证和信任。 可以使用秘密(使用HMAC算法)或使 阅读全文
posted @ 2021-07-07 09:02 panchanggui 阅读(153) 评论(0) 推荐(0) 编辑
摘要:Git 自 2005 年发布以来,以其分布式、文件快照、轻量分支等先进特性,迅速成为 CVS、SVN 等传统集中式版本控制系统的有力竞争者,在软件行业尤其是开源界流行开来。另一方面,Git 的创始人 Linus Torvalds 也是 Git 的金字招牌,身为 Linux 系统创始人的 Linus 阅读全文
posted @ 2021-03-25 22:56 panchanggui 阅读(1006) 评论(0) 推荐(0) 编辑
摘要:前言 在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的。当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保存一些信息(Session ID 或 Token ),并要求客户端在之后的每次请求中携带它们。在这样 阅读全文
posted @ 2021-03-11 09:43 panchanggui 阅读(1009) 评论(0) 推荐(0) 编辑
摘要:作者:hongxinerke cnblogs.com/zhenghongxin/p/10006697.html 无状态登录原理 1.1.什么是有状态? 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。 例如 阅读全文
posted @ 2021-01-06 18:08 panchanggui 阅读(595) 评论(0) 推荐(0) 编辑
摘要:大纲 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新部署; 这些情况都会涉及到频繁的打包部署; 手动打包常规步骤: 1.提交代码 2.问一下同组小伙伴有没有 阅读全文
posted @ 2020-08-25 00:27 panchanggui 阅读(754) 评论(0) 推荐(0) 编辑
摘要:目录 阐述背景 Leaf snowflake 模式介绍 Leaf segment 模式介绍 Leaf 改造支持 RPC 阐述背景 不吹嘘,不夸张,项目中用到 ID 生成的场景确实挺多。比如业务要做幂等的时候,如果没有合适的业务字段去做唯一标识,那就需要单独生成一个唯一的标识,这个场景相信大家不陌生。 阅读全文
posted @ 2020-07-22 12:19 panchanggui 阅读(996) 评论(0) 推荐(0) 编辑
摘要:背景 最近在设计和开发部门的基础架构,需要利用反射技术找到classpath目录下所有包含指定注解的类,然后根据注解配置完成指定的功能。 最初是想自己写代码来实现这些功能,边查资料边写,整了大半天,写出来的效果自己都不太满意。一方面是代码多,不好维护;另一方面是性能不太好。不过,在查资料的过程中,我 阅读全文
posted @ 2020-06-24 16:43 panchanggui 阅读(4344) 评论(0) 推荐(0) 编辑
摘要:一、缘起 很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。 例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TCP连接,用来实时收发消息,对这个TCP连接,有这样一个需求:“如果连续30s没有请求包(例如登录,消 阅读全文
posted @ 2020-06-12 17:22 panchanggui 阅读(572) 评论(0) 推荐(0) 编辑
摘要:一、缘起 很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。 例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。 一般来说怎么实现这类“48小时后自动评价为5星”需求呢? 常见方案:启动一个cron定时任务,每小时跑一次,将完成时间超过48小时的订单取出,置为5星 阅读全文
posted @ 2020-06-12 16:08 panchanggui 阅读(639) 评论(0) 推荐(0) 编辑
摘要:一、为什么要用分布式ID? 在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征? 1、什么是分布式ID? 拿MySQL数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日 阅读全文
posted @ 2020-06-04 14:35 panchanggui 阅读(454) 评论(2) 推荐(0) 编辑
摘要:大家可能都遇到过类似的需求: 生成订单60秒后,给用户发短信 下单之后15分钟,如果用户不付款就关闭订单 解决方式 是的没错,我们用一种术语来描述上面的任务,延时任务. 那么针对于类似这样的任务,一般我们都是怎么处理的呢? 对于这种延时任务,我们一般有以下的4中解决方式: 利用quartz等定时任务 阅读全文
posted @ 2020-04-26 11:17 panchanggui 阅读(1435) 评论(0) 推荐(0) 编辑
摘要:定时任务: @Scheduled(cron= "0 39 3 * * *") public void getAllUnSignData(){ //检查任务锁,若其它节点的相同定时任务已经执行,则该节点的任务执行一个空任务,否则设置锁并执行该任务 String timerName = this.get 阅读全文
posted @ 2020-03-30 12:57 panchanggui 阅读(827) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://www.hollischuang.com/archives/1716 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Ava 阅读全文
posted @ 2020-03-30 11:53 panchanggui 阅读(615) 评论(0) 推荐(0) 编辑
摘要:在软件开发中经常会提到持续集成Continuous Integration(CI)和持续交付Continuous Delivery(CD)这几个术语。但它们真正的意思是什么呢? 在谈论软件开发时,经常会提到持续集成Continuous Integration(CI)和持续交付Continuous D 阅读全文
posted @ 2020-03-28 23:51 panchanggui 阅读(1817) 评论(0) 推荐(0) 编辑
摘要:转自: https://sq.163yun.com/blog/article/155843560335699968 https://sq.163yun.com/blog/article/155844837358661632 作者:刘超 网易云基础服务无论是在社区,还是在同客户交流的过程中,总会被问到 阅读全文
posted @ 2020-03-23 15:01 panchanggui 阅读(1096) 评论(0) 推荐(0) 编辑
摘要:为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集 阅读全文
posted @ 2020-01-10 10:28 panchanggui 阅读(340) 评论(0) 推荐(0) 编辑
摘要:1 2 3 4 5 6 7 8 9 阅读全文
posted @ 2020-01-02 16:45 panchanggui 阅读(466) 评论(1) 推荐(0) 编辑
摘要:一、预备知识 本文讨论基于微服务架构下的身份认证和用户授权的技术方案,在阅读之前,最好先熟悉并理解以下几个知识点: 微服务架构相关概念:服务注册、服务发现、API 网关 身份认证和用户授权:SSO、CAS、OAuth2、JWT 文章在涉及到上述知识内容时,会附上参考链接。 二、背景 当企业的应用系统 阅读全文
posted @ 2019-12-19 22:54 panchanggui 阅读(5816) 评论(0) 推荐(0) 编辑
摘要:一、火热的中台 2019年,中台这个概念非常热门,由于这种模式有助于提高效率、降低成本、保证质量,一线互联网大厂,如阿里,腾讯,网易,滴滴,纷纷入坑中台。 数据中台、用户中台、搜索中台、电商中台、推荐中台、内容中台、技术中台、算法中台、移动中台……一系列中台不断涌现。 中台其实是一个非常复杂的具有共 阅读全文
posted @ 2019-12-10 11:28 panchanggui 阅读(286) 评论(0) 推荐(0) 编辑
摘要:本文转自:https://mp.weixin.qq.com/s/OloZhn2pwfIrOQit_8jefA 一、前言 2014年可以认为是微服务1.0的元年,当年有几个标志性事件,一是Martin Fowler在其博客上发表了“Microservices”一文,正式提出微服务架构风格;二是Netf 阅读全文
posted @ 2019-12-10 11:13 panchanggui 阅读(289) 评论(0) 推荐(0) 编辑