【SSCMS】基于SSCMS搭建静态站点
概述
SSCMS(Smart Software Configuration Management
System)是一款智能化的软件配置管理系统,旨在帮助团队高效管理软件版本、配置文件和开发过程,提升开发协作效率,确保系统稳定性与可追溯性。
部署
这里采用docker部署, 注意开放主机的8723端口
12345678docker run -d \ --name my-sscms \ -p 8723:80 \ --restart=always \ -v /home/sscms_app_wwwroot:/app/wwwroot \ -e SSCMS_SECURITY_KEY=e2a3d303-ac9b-41ff-9154-930710af0845 \ -e SSCMS_DATABASE_TYPE=SQLite \ sscms/core:latest
安装 SSCMS 后,会显示进入后台的链接。点击该链接即可进入 SSCMS
管理员登录界面,输入安装时设置的用户名和密码即可登录
安装参考:https://juejin.cn/post/ ...
【Logback】Logback配置日志
概述
本文基于logback实现web项目(采用Struts2框架)的日志管理,设置彩色日志,根据日结级别还有日期划分日志文件
一般是springboot项目会集成,因为springboot中有已经定义好的色彩转换类,此处没有则自定义。
依赖
jar
web项目, 需要在 web/INF-WEB/lib 下添加以下依赖包
123logback-classic-1.2.3.jarlogback-core-1.2.3.jarslf4j-api-1.7.32.jar
maven
如果是maven
123456789101112131415<dependencies> <!-- Logback Classic --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</ ...
【后端】Struts2 框架
概述
Struts2框架用于开发基于MVC的Web应用。Struts框架最初由
Craig McClanahan
创建,并在2000年5月捐赠给Apache基金会,Struts1.0在2001年6月发布。Struts2是opensymphony的webwork框架和Struts1的结合
特性
Struts2提供了对基于POJO的操作的支持,验证支持AJAX支持,对各种框架的集成支持,如Hibernate、Spring、Tiles等,对各种结果类型的支持,如Freemarker、Velocity、JSP等,各种标签支持,主题和模板支持。
依赖包
官网: http://struts.apache.org/
获取依赖jar
点击Download 进入依赖下载页,然后点击
struts-7.0.0-lib.zip
目录结构
struts2的目录结构与servlet/JSP相同。在项目里面,struts.xml文件必须位于 WEB-INF\classes文件夹中。
执行流程
1、用户发送操作请求
2、Container 映射 web. ...
【重构】老系统重构指南
概述
系统重构是结合当前业务现状,对系统进行重新设计的过程。这并不是完全从零开始,而是从现有基础向更高水平迈进的过程(从1到10)。
老系统能够支撑公司业务多年,必然有其可取之处,重构时千万不要全盘否定,而是要深入挖掘业务价值,做好用户调研,保留关键的业务场景和流程,取其精华,去其糟粕。
重构原因
性能老化:系统已经“跑不动”了,无法满足当前需求,亟需引入年轻化的技术和架构。
模块耦合过深:各板块之间耦合性过强,关联复杂,导致维护和扩展困难。
功能落后:许多功能已无法适应业务的飞速发展,存在明显的瓶颈。
系统臃肿:长期以来的各种补丁堆叠,让系统变得越来越复杂和难以管理。
流程冗长:业务流程繁杂且冗长,稍作调整就可能引发连锁反应。
优化困难:系统功能优化举步维艰,任何改动都显得不合理或不自在。
操作
结合各垂直事业部业务场景,梳理业务流程现状
先梳理业务流程现状,再结合现状提出可优化的流程点与业务协商,双方意见没冲突,那就可以往下推进。
梳理时,建议重点关注以下几点:
主要流程:先把当前主要大流程搞清楚,一般比较容易整理
正向流程:一件事情的正常流转
逆向 ...
【大数据】数据仓库、数据中台与数据湖
一、引言
随着大数据技术的不断发展,数据已经成为企业最重要的资产之一。为了更好地管理和利用这些数据,企业需要选择合适的技术和工具。数据仓库、数据中台和数据湖作为三种不同的数据处理和管理技术,各自具有独特的优势和应用场景。了解它们之间的区别与联系,有助于企业根据实际需求做出明智的选择。
二、数据仓库(Data Warehouse)
稳定、可靠的数据存储与查询
数据仓库的定义与特点
数据仓库是一个面向主题的、集成的、相对稳定的、随时间变化的数据集合,主要用于支持企业或组织的决策分析过程。
目标:为业务分析提供高性能的结构化数据查询,通常是面向分析型处理(OLAP)。
它具有以下特点:
1)集成性
数据仓库能够整合来自不同业务系统的数据,消除数据冗余和不一致性,提供一个统一的数据视图。
2)排序性
数据仓库中的数据按照时间顺序进行存储和管理,便于用户进行历史数据的分析和比较。
3)稳定性
数据仓库注重数据的稳定性和质量,对数据进行清洗、转换和加载,确保数据的准确性和可靠性。
4)面相主题
数据仓库按照业务需求组织数据,将数据划分为不同的主题域, ...
【架构】DDD领域驱动设计概念
概念
DDD,全程是Domain-Driven
Design,翻译过来就是领域驱动设计。
DDD是一个软件设计理念,通过深入理解业务领域,来指导软件设计、和开发。
DDD
强调与业务专家紧密合作,将复杂的业务问题,转化为可管理的软件模型。
作用
1、满足业务需求
通过与业务专家密切合作,DDD
确保软件模型准确反映业务需求,减少了软件与业务之间的脱节。
2、增强设计
将复杂业务逻辑,分解成领域模型、和限界上下文,使得系统设计更加模块化、和灵活。
3、改善团队协作
使用通用语言,使得业务专家、和开发团队,能够有效沟通、和协作,减少了误解、和沟通成本。
4、支持业务变化
DDD
强调领域模型的演化、和适应,允许系统随着业务需求的变化,而不断调整和优化。
DDD四层架构
总共有四层:
1、用户界面层(UI/Presentation Layer)
2、应用层(Application Layer)
3、领域层(Domain Layer)
3、基础设施层(Infrastructure Layer)
这四层架构提供了一个清晰的层次结构,确保业务逻辑和技术 ...
【微服务】sentinel+gateway 实现限流
概述
Sentinel
是阿里巴巴开源的流量防卫组件,支持对微服务流量进行实时监控和保护,特别适用于
Spring Cloud Gateway、Zuul等主流 API 网关的限流、熔断等场景。
功能
Sentinel
提供流量控制、熔断降级、系统自适应保护、热点参数限流等核心功能,帮助开发者应对高并发流量及微服务系统的稳定性挑战。
优点
Sentinel
具备轻量化、易集成、实时性强、规则灵活配置等优点,支持多语言、多框架,并提供可视化的控制台,方便动态管理限流规则。
## 限流规则的维度
Sentinel
支持多种限流规则维度,灵活应对不同的流量控制需求,包括网关维度和 API
分组维度。
需求如下:假设有两个服务的多个 URL:
A服务:
http://ip:port/a/xxx -
要求:60秒内最多访问60次
http://ip:port/a/yyy -
要求:60秒内最多访问60次
http://ip:port/a/zzz -
要求:60秒内最多访问30次
B服务:
http://ip:port/b/eee -
要求 ...
【微服务】SpringCloudGateWay
API 网关
API
网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API
网关封装了系统内部架构,为每个客户端提供一个定制的
API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。API
网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供 REST/HTTP 的访问 API
网关
功能
1)性能:API高可用,负载均衡,容错机制
2)安全:权限身份认证,脱敏,流量清洗,后端签名(保证全链路可信调用)
黑名单:(非法调用的限制)
3)日志:日志记录(spainid,traceid)一旦涉及分布式,全链路跟踪必不可少
4)缓存: 数据缓存
5)监控:记录请求响应数据,api耗时分析,性能监控
6)限流:流量控制,错峰流控,可以定义多种限流规则
7)灰度:线上灰度部署,可以减少风险
8)路由:动态路由规则
比较流行的网关:
目前比较流行的网关有:Nginx、Kong、0range 等等
还有微服务网关zuul ...