04 2020 档案
摘要:架构师最优价值的地方不在于他们掌握了多少技术,而在于他们经历了多少故障。 写日志引发故障 硬盘空间低于警戒值, log 输出的 level 配置为 debug, 这样一个简单的web请求就会产生大量的log。 经验教训: 应用程序自己的日志输出配置和第三方组件日志输出要分别配置。 检查 log 配置
阅读全文
摘要:XSS 跨站点脚本攻击 用户输入的 validation, 注意请求中的嵌入式脚本 HttpOnly 注入攻击 用户输入的 validation, 参数提前绑定(利用绑定变量 等) CSRF 攻击 (跨站点请求伪造) 攻击者通过跨站请求,以合法用户的身份进行非法操作. 表单 Token, 验证码,
阅读全文
摘要:随着新需求的增加,需要开发新的模块, 开闭原则(对扩展开发,对修改关闭) 低耦合性 软件架构师最大的价值不在掌握多少先进的技术,而在于具有将一个大系统切分成 N 个低耦合的子模块的能力。这些子模块包含横向的业务模块,也包含纵向的基础技术模块。这种能力一部分源自于专业的技术和经验,还有一部分源于架构师
阅读全文
摘要:比如双11, 网站的特点,可能是在某一段时间会有大量访问,过了这段时间,恢复正常。 如果一直保持着“双11标准”运营,那是浪费,所以,就要考虑网站的伸缩性. 业务功能分离 (横向分离,前台,交易,库存,产品 等) 单一业务功能,通过集群实现伸缩. 应用服务器: 通过负载均衡 + 集群 实现伸缩性。
阅读全文
摘要:process available 99.9% (1 - 网站不可用时间/年度总时间)* 100% 分层 不同层,关注点不一样 服务层 / 应用层: 集群, 解决高并发问题 数据层: 数据的安全, 数据不丢失, 数据访问服务不中断. 数据备份 失效转移 失效转移:若数据服务器集群中任何一台服务器宕机
阅读全文
摘要:压力测试, 不断地增加并发数量. 性能测试: 日常的运营 a - b, b点是日常的最高值. 负载测试: b-c, 模拟的是访问高峰, 可以看到系统最大负载是 c 点. 压力测试: 超过 c 点, 系统资源继续增加, 但是TPS却在走下坡路. 直到 d 点(耗费资源到达极限, 系统崩溃) 性能优化策
阅读全文
摘要:架构关注 关注业务需求分析(function requirement) 关注 性能,可用性(稳定性),伸缩性,可扩展性,安全性. 性能: 网站性能的衡量指标, 如响应时间,TPS 等。 可用性: 7X24小时, process available 99.9% 等 伸缩性: 是否容易向集群中添加服务器
阅读全文
摘要:分层思维 分割 指的是在分层的基础之上, 继续进行分割,比如服务层,可以分割出不同的服务. 分布式 分布式部署, 将不同模块部署在不同服务器上,通过远程调用协同工作。 分布式会导致网站依赖错综复杂,开发管理维护困难,因此分布式设计要根据具体情况量力而行。 常用的分布式: 分布式应用和服务:有利用复用
阅读全文
摘要:大型网站特点: 高并发,高可用,海量数据, 用户分广泛, 网络情况复杂, 安全环境恶劣, 需求快速变更,发布频繁. 发展历程 单一服务器 应用与数据服务分离, 数据库压力大, 影响性能. 使用缓存, 改善网站性能. 缓存一般都是在内存中, 所以增加了读取的速度. 提高了网站性能. 使用应用服务器集群
阅读全文
摘要:首先 官网下载 STS 插件. 然后把长的名字去掉一部分,直接双击,就可以看到解压目录, 就有 STS 了,注意,但是这不是 eclipse 插件版,就是 STS. online setup (真正的eclipse 插件版) 如果你的网络支持, 也可以选择这种. Help -> Eclipse Ma
阅读全文
摘要:Maven 本身 Maven 的安装步骤, 在别的blog里有, 这里主要是maven 成功安装以后, 需要做如下的 settings.xml 的配置. <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun mave
阅读全文
摘要:搭建环境 springboot官方文档:https://spring.io/guides/gs/spring-boot/ 1. 手工创建, 首先去官网, 找到 quick start, 然后找到手动创建的 guide. 2. 自动的, 实际上也差不多, 是去官网下载创建的包. 实际上, 还是推荐手动
阅读全文
摘要:SSM (spring, springMVC, mybatis) (spring struts2 mybatis) -> spring Boot springboot(脚手架 / 微框架) = springMVC(控制器) + spring(项目管理) Spring Boot 特点 1. 创建独立的
阅读全文
摘要:环境搭建 可以通过 eclipse -> help 菜单 -> Eclipse Marketplace, 然后选择 popular, 从中找到 Spring Tool Suite(STS)插件. 这样就安装了 STS 插件, 可以方便引入 Spring Boot 的 starter, 而 start
阅读全文
摘要:架构迁移 项目迁移需要投资规划, 排定项目优先级, 本着原则 由 效果 先做 对业务 Benefit 大的,最后做对业务 benefit 小的. 由 简单 -> 复杂 由 投资小(项目成本低) -> 投资大(项目成本高) 基本上就是 MVP 原则. 架构管控 确保项目对已有企业架构的遵循. 治理委员
阅读全文
摘要:技术性需求的统一建设性需求, 与业务无关的,需要的是共性. 所以,主要的关键字 基础需求 + 共性需求. 比如 统一登录, common service. 都是为了对 application 和 数据提供服务, 有利的规避异构. 存储虚拟化 -> 云 cloud
阅读全文
摘要:功能分配, 功能指的是面向业务的支持. 集成交付, 多功能一起交付. 随着application 增加, 需要依赖服务总线来实现集成交付. 服务总线, 解决应用系统之间开放互联的协同问题. 例如 IPSL. 所以从架构的角度说, 低耦合, 高可用, 可扩展, 高性能. 统一的服务接口, 标准接口.
阅读全文
摘要:万般需求皆业务, 万般业务皆流程 找到需求在业务的使用价值. 各部门需求差异化(各部门中包括IT). 所以需要把需求共识话. 成熟度: 对未来成果的满意程度. 业务架构师, BA: business analysis, 必须是业务领域的专家 业务绩效的提升. (提高效率,降低成本, 减少故障率 等)
阅读全文
摘要:https://zhuanlan.zhihu.com/p/103594741?utm_source=wechat_session 我建议选择考试名称为ESL(English as second language) https://certcollection.org/forums/topic/811
阅读全文
摘要:做完项目, 没啥大用,为什么? (1个亿做了一个大项目客户平台), 1个月就1比交易,1000W的交易,赚取提成 10W, 投资回报率低. 每年很多钱花在 IT 方面, 大数据, 区块链, 各种新兴技术, 这种盲目做项目, 在 IT 中产生 2个字 "异构". 财务 -> 上一个报表系统, 领导要看
阅读全文
摘要:如何实现飞机向前飞行效果? 实际上是, 让背景图片向下飞行, 这样飞机就有向前飞行的感觉了. 然后准备两张图片来做交替. 飞机类(敌机, 我们飞机都一样)子弹类遍历子弹数组, 判断碰撞情况 (我的子弹对敌机, 敌机子弹对我)主要技术, 多线程 21点游戏 纸牌类游戏, 首先需要把纸牌的图片保存好.
阅读全文
摘要:难点 逻辑判断当前地图的状态(注意数组越界问题), 根据这个状态, 对数组的值进行修改, 然后调用 repaint() -> paint() 来将图形绘制出来. 举一反三 实际上, 步骤1,2 完全可以用在 连连看中. 而且连连看不需要撤销功能, 所以不需要保存之前的图形的样子. 而连连看的主程序在
阅读全文