随笔分类 - 11 架构设计

摘要:作者:hongxinerke cnblogs.com/zhenghongxin/p/10006697.html 无状态登录原理 1.1.什么是有状态? 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。 例如 阅读全文
posted @ 2021-01-06 18:08 panchanggui 阅读(32) 评论(0) 推荐(0) 编辑
摘要:大纲 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新部署; 这些情况都会涉及到频繁的打包部署; 手动打包常规步骤: 1.提交代码 2.问一下同组小伙伴有没有 阅读全文
posted @ 2020-08-25 00:27 panchanggui 阅读(260) 评论(0) 推荐(0) 编辑
摘要:目录 阐述背景 Leaf snowflake 模式介绍 Leaf segment 模式介绍 Leaf 改造支持 RPC 阐述背景 不吹嘘,不夸张,项目中用到 ID 生成的场景确实挺多。比如业务要做幂等的时候,如果没有合适的业务字段去做唯一标识,那就需要单独生成一个唯一的标识,这个场景相信大家不陌生。 阅读全文
posted @ 2020-07-22 12:19 panchanggui 阅读(139) 评论(0) 推荐(0) 编辑
摘要:背景 最近在设计和开发部门的基础架构,需要利用反射技术找到classpath目录下所有包含指定注解的类,然后根据注解配置完成指定的功能。 最初是想自己写代码来实现这些功能,边查资料边写,整了大半天,写出来的效果自己都不太满意。一方面是代码多,不好维护;另一方面是性能不太好。不过,在查资料的过程中,我 阅读全文
posted @ 2020-06-24 16:43 panchanggui 阅读(432) 评论(0) 推荐(0) 编辑
摘要:一、缘起 很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。 例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TCP连接,用来实时收发消息,对这个TCP连接,有这样一个需求:“如果连续30s没有请求包(例如登录,消 阅读全文
posted @ 2020-06-12 17:22 panchanggui 阅读(279) 评论(0) 推荐(0) 编辑
摘要:一、缘起 很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。 例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。 一般来说怎么实现这类“48小时后自动评价为5星”需求呢? 常见方案:启动一个cron定时任务,每小时跑一次,将完成时间超过48小时的订单取出,置为5星 阅读全文
posted @ 2020-06-12 16:08 panchanggui 阅读(215) 评论(0) 推荐(0) 编辑
摘要:一、为什么要用分布式ID? 在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征? 1、什么是分布式ID? 拿MySQL数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日 阅读全文
posted @ 2020-06-04 14:35 panchanggui 阅读(181) 评论(2) 推荐(0) 编辑
摘要:大家可能都遇到过类似的需求: 生成订单60秒后,给用户发短信 下单之后15分钟,如果用户不付款就关闭订单 解决方式 是的没错,我们用一种术语来描述上面的任务,延时任务. 那么针对于类似这样的任务,一般我们都是怎么处理的呢? 对于这种延时任务,我们一般有以下的4中解决方式: 利用quartz等定时任务 阅读全文
posted @ 2020-04-26 11:17 panchanggui 阅读(527) 评论(0) 推荐(0) 编辑
摘要:定时任务: @Scheduled(cron= "0 39 3 * * *") public void getAllUnSignData(){ //检查任务锁,若其它节点的相同定时任务已经执行,则该节点的任务执行一个空任务,否则设置锁并执行该任务 String timerName = this.get 阅读全文
posted @ 2020-03-30 12:57 panchanggui 阅读(320) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://www.hollischuang.com/archives/1716 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Ava 阅读全文
posted @ 2020-03-30 11:53 panchanggui 阅读(380) 评论(0) 推荐(0) 编辑
摘要:在软件开发中经常会提到持续集成Continuous Integration(CI)和持续交付Continuous Delivery(CD)这几个术语。但它们真正的意思是什么呢? 在谈论软件开发时,经常会提到持续集成Continuous Integration(CI)和持续交付Continuous D 阅读全文
posted @ 2020-03-28 23:51 panchanggui 阅读(435) 评论(0) 推荐(0) 编辑
摘要:转自: https://sq.163yun.com/blog/article/155843560335699968 https://sq.163yun.com/blog/article/155844837358661632 作者:刘超 网易云基础服务无论是在社区,还是在同客户交流的过程中,总会被问到 阅读全文
posted @ 2020-03-23 15:01 panchanggui 阅读(446) 评论(0) 推荐(0) 编辑
摘要:为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集 阅读全文
posted @ 2020-01-10 10:28 panchanggui 阅读(193) 评论(0) 推荐(0) 编辑
摘要:1 2 3 4 5 6 7 8 9 阅读全文
posted @ 2020-01-02 16:45 panchanggui 阅读(302) 评论(1) 推荐(0) 编辑
摘要:一、预备知识 本文讨论基于微服务架构下的身份认证和用户授权的技术方案,在阅读之前,最好先熟悉并理解以下几个知识点: 微服务架构相关概念:服务注册、服务发现、API 网关 身份认证和用户授权:SSO、CAS、OAuth2、JWT 文章在涉及到上述知识内容时,会附上参考链接。 二、背景 当企业的应用系统 阅读全文
posted @ 2019-12-19 22:54 panchanggui 阅读(2550) 评论(0) 推荐(0) 编辑
摘要:一、火热的中台 2019年,中台这个概念非常热门,由于这种模式有助于提高效率、降低成本、保证质量,一线互联网大厂,如阿里,腾讯,网易,滴滴,纷纷入坑中台。 数据中台、用户中台、搜索中台、电商中台、推荐中台、内容中台、技术中台、算法中台、移动中台……一系列中台不断涌现。 中台其实是一个非常复杂的具有共 阅读全文
posted @ 2019-12-10 11:28 panchanggui 阅读(125) 评论(0) 推荐(0) 编辑
摘要:本文转自:https://mp.weixin.qq.com/s/OloZhn2pwfIrOQit_8jefA 一、前言 2014年可以认为是微服务1.0的元年,当年有几个标志性事件,一是Martin Fowler在其博客上发表了“Microservices”一文,正式提出微服务架构风格;二是Netf 阅读全文
posted @ 2019-12-10 11:13 panchanggui 阅读(116) 评论(0) 推荐(0) 编辑
摘要:mysql计划任务每天定时执行,每天的零点执行一个存储过程 1、开启数据库定时调度 show variables like '%sche%'; //查看是否开启 select * from mysql.user where user='root' set global event_scheduler 阅读全文
posted @ 2019-12-04 11:27 panchanggui 阅读(1462) 评论(0) 推荐(0) 编辑
摘要:问题分析 正常的H5支付流程如下 按照上面的支付流程会出现 App -> 微信 -> 支付 -> 点击 完成 -> safari访问redirect_url设置的URL,这种流程其实用户体验是有点糟糕的,我们期望是 App -> 微信 -> 支付 -> 点击 完成 -> App访问redirect_ 阅读全文
posted @ 2019-10-17 17:58 panchanggui 阅读(2796) 评论(0) 推荐(0) 编辑
摘要:服务升级机制 在项目敏捷开发的过程中,不可避免需要快速、安全的更新应用,目前比较流行的几种部署方案有: 滚动发布、灰度发布/金丝雀发布和蓝绿部署。 滚动发布(目前某银行内部生产环境交易系统的发布方式): 一般是取出一个或者多个服务器停止服务,执行更新,并重新将其投入使用。周而复始,直到集群中所有的实 阅读全文
posted @ 2019-10-08 10:32 panchanggui 阅读(6231) 评论(0) 推荐(0) 编辑