<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jeff 的专栏]]></title><description><![CDATA[架构师之路]]></description><link>https://blog.youkuaiyun.com/alli0968</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; alli0968]]></copyright><item><title><![CDATA[分布式系统全链路压测方法]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/120766049</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/120766049</guid><author>alli0968</author><pubDate>Thu, 14 Oct 2021 18:58:20 +0800</pubDate><description><![CDATA[前言

继上一篇JMeter的基本使用介绍（使用Apache JMeter做压力测试），本文介绍如何做SpringCloud分布式系统的全链路压测。

测试策略



如上图，基本思路是基于月活跃用户确定执行的并发数，然后用工具模拟压力输出报告，最终我们关心的三个最重要的指标是响应时间、错误率、吞吐量。


吞吐量是反馈系统整体性能很重要的一个指标，也有几个衡量的维度，如QPS、TPS、网络收发的数据量，不同的系统应该采用不同的衡量标准，一般的业务系统会选取TPS，但也不一定客观，因为在系统跟系统横向对比的]]></description><category></category></item><item><title><![CDATA[使用Java生成Word]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/109613797</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/109613797</guid><author>alli0968</author><pubDate>Wed, 11 Nov 2020 15:22:51 +0800</pubDate><description><![CDATA[用Java生成Word主流的方案有以下几种：

1. 直接通过Object生成Word，需要自己一点点的生成标题、段落、表格等，缺点是比较手动原始并且工作量大，优点是快捷可控性强。主流的方案有Apache POI（http://poi.apache.org/），Java2Word（https://github.com/leonardoanalista/java2wordhttps://github.com/leonardoanalista/java2word）
...]]></description><category></category></item><item><title><![CDATA[《Python机器学习基础教程》(上)]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/104735342</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/104735342</guid><author>alli0968</author><pubDate>Sun, 08 Mar 2020 16:39:00 +0800</pubDate><description><![CDATA[整体计划：时间不多的情况下需要快速构建机器学习系统，先有个整体框架，再慢慢学习。争取未来能够从企业级应用老旧领域转到数据分析和机器学习（人工智能）新兴领域，布局未来。



第1章 引言

人工智能、机器学习和深度学习的区别?机器学习是一种实现人工智能的方法，深度学习是一种实现机器学习的技术。我们就用最简单的方法——同心圆，可视化地展现出它们三者的关系：



机器学习介绍：机器学习（machi...]]></description><category></category></item><item><title><![CDATA[架构师之路（七）架构师之路再思考]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/104665806</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/104665806</guid><author>alli0968</author><pubDate>Thu, 05 Mar 2020 00:15:07 +0800</pubDate><description><![CDATA[孙子曰：将弱不严，教道不明，吏卒无常，陈兵纵横，曰乱。


今天参加架构师之路沈剑老师的直播，根据他个人的经验也再次引发我对架构师之路的再思考以及自我重新审视。

首先对于沈剑本人来说，大多数人都是通过架构师之路这个微信公众号了解他本人的，也就说他的个人品牌已经打响了，这个其实对个人来讲非常关键，非常好，对于自己的知名度是否也可以通过优快云专栏广播给大家看，通过这个增加知名度，扩大个人品牌影响...]]></description><category></category></item><item><title><![CDATA[工作流Activiti核心概念、原理和集成方法]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/101780447</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/101780447</guid><author>alli0968</author><pubDate>Mon, 30 Sep 2019 17:18:46 +0800</pubDate><description><![CDATA[1.什么是工作流及BPMN2.0规范介绍

BPMN 是Business Process Modeling Notation 的简称 BPMN定义了一个业务流程图；

Activity是bpmn的一个实现： 1.启动与结束事件(event) 2.顺序流(Sequence Flow) 3.任务(Task) 4.网关(Gateway) 5.子流程(Subprocess) 6.边界事件(Boundary...]]></description><category></category></item><item><title><![CDATA[工作总结]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/99862182</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/99862182</guid><author>alli0968</author><pubDate>Wed, 18 Sep 2019 20:51:40 +0800</pubDate><description><![CDATA[把优秀当做一种习惯。


今年（2019年7月），在职业生涯第十个年头，我离开了待了3年的DXC（HP），寻找到了新的平台，架构师之路刚刚开启，对于所谓的中年危机，可能暂时不再焦虑，面对未来，挑战和机遇并存。

这三年的HP时光犹如白驹过隙，HP对我来说是个职业升华的熔炉，我也拿出了业绩回报他们，由衷的感谢公司领导和同事们对我的信任和关照。

一、总结

1. 技术突破

编程语言上学会了Pyt...]]></description><category></category></item><item><title><![CDATA[Spring Security OAuth2实现的SSO]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/94348193</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/94348193</guid><author>alli0968</author><pubDate>Sun, 30 Jun 2019 18:56:39 +0800</pubDate><description><![CDATA[一.介绍

最常见的例子是，我们打开淘宝APP，首页就会有天猫、聚划算等服务的链接，当你点击以后就直接跳过去了，并没有让你再登录一次。



Java技术栈里，SSO的解决方案有CAS、OAuth2等，本文主要介绍Spring Cloud项目里如何使用Spring Security OAuth2实现的SSO。

二.实现步骤

下面这个图是我再网上找的，我觉得画得比较明白：







步骤：...]]></description><category></category></item><item><title><![CDATA[Java内存模型与线程]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/92428711</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/92428711</guid><author>alli0968</author><pubDate>Sun, 16 Jun 2019 22:04:05 +0800</pubDate><description><![CDATA[注：部分内容摘自《深入理解Java虚拟机》《Java程序员修炼之道》

背景：物理计算机在CPU和磁盘间的操作是最频繁的，但是随着CPU越来越快，磁盘越来越不能满足速度要求，随即出现了内存，内存是用户和CPU间的高速缓存区，但是随着CPU的发展，内存的读写速度也远远跟不上CPU的读写速度，因此，为了解决这一纠纷，CPU厂商在每颗CPU上加入了高速缓存，用来缓解这种症状。

基于高速缓存的存储交互很...]]></description><category></category></item><item><title><![CDATA[架构师之路（六）五视图方法论]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/88396896</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/88396896</guid><author>alli0968</author><pubDate>Mon, 11 Mar 2019 16:44:05 +0800</pubDate><description><![CDATA[一、软件架构设计的五视图

根据关注角度的不同，软件架构又分为逻辑架构、开发架构、运行架构、数据架构和物理架构。





逻辑架构：着重考虑功能需求，系统应当向用户提供什么样的服务，关注点主要是行为或职责的划分。逻辑架构关注的功能，不仅包括用户可见的功能，还应当包括为实现用户功能而必须提供的辅助功能。逻辑架构更偏向我们所说的“分层”，像经典的“三层架构”。逻辑架构的静态方面是抽象职责的划分，动...]]></description><category></category></item><item><title><![CDATA[架构师之路（五）如何做好业务建模？]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/88384166</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/88384166</guid><author>alli0968</author><pubDate>Sun, 10 Mar 2019 21:52:34 +0800</pubDate><description><![CDATA[“我深怕自己本非美玉，故而不敢加以刻苦琢磨，却又半信自己是块美玉，故又不肯庸庸碌碌，与瓦砾为伍。”

现实生活中的我们不都是这样吗？明明庸庸碌碌，却又不甘庸碌一生。

-中岛敦（日）《山月记》


目录

一、业务分析的方法

1. 流程图

2. 时序图

3. 产品原型图

4. 业务模型图

5. 数据模型图

6. 其他

二、建模工具

三、总结

最近随着项目的推进，一些相对原...]]></description><category></category></item><item><title><![CDATA[架构师之路（四）关于企业服务和ERP]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/84893969</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/84893969</guid><author>alli0968</author><pubDate>Sat, 08 Dec 2018 16:22:14 +0800</pubDate><description><![CDATA[做企业服务，即便是电商系统，企业ERP的一套东西是不可避免要接触的，如WMS ERP 进销存，所以这些概念和模式一定要搞清楚了。

 

职业生涯其实是一个不断拔高的过程，不断的积累经验，结实人脉，开拓视野来一步步升华自己，最重要的是不要停止学习，不要拒绝进步，一定要自信，一定要让自己站在更高一层思考问题。...]]></description><category></category></item><item><title><![CDATA[架构师之路（三）再次转变思维，最有价值的东西]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/84893907</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/84893907</guid><author>alli0968</author><pubDate>Sat, 08 Dec 2018 16:20:36 +0800</pubDate><description><![CDATA[一、架构师职责

架构师的核心在于职责，包括业务职责，人员职责，所有的东西需要在职责范围内

所有的功能性需求都不在架构师的职责范围内

所有非功能性需求才在架构师的职责范围内，如性能 可扩展性 高可用 事务



二、设计边界

在做设计的时候一定要划清边界，如可以给出stage1，2，3，来区分不同的边界

其他的如解决方案我们可以跟客户聊，但交付一定是有边界的



三、统计和报表

统...]]></description><category></category></item><item><title><![CDATA[架构师之路（二）架构师的技能和职责]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/84893859</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/84893859</guid><author>alli0968</author><pubDate>Sat, 08 Dec 2018 16:16:31 +0800</pubDate><description><![CDATA[一、架构师的技能和职责

具备相关的意识形态和专业知识才能算上架构师，作为一名合格的架构师，完备的技术领域知识是必备的技能，但针对应用设计型架构师，所需的技能不仅仅限于了解和掌握技术体系，也需要从业务领域和软技能两个层面进行技能拓展。

技术领域知识
架构设计相关的技术领域知识包括在上文中架构演进理论中提到过的分布式系统、缓存、消息中间件、企业服务总线、搜索引擎和批量数据处理等各种目前业务主流的技...]]></description><category></category></item><item><title><![CDATA[架构师之路（一）Let's Start At The Very Beginning]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/84315429</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/84315429</guid><author>alli0968</author><pubDate>Thu, 29 Nov 2018 16:15:47 +0800</pubDate><description><![CDATA[一、架构师的最大的价值

1.客户价值转化为设计（设计承载客户价值）

2.把设计快速落地实现

二、设计原则

1.设计既要解耦合，强耦合设计往往存在灵活性和扩展性的问题

2.设计也不能做穿了，一个功能尽量包含在一个模块里，不能扩散到其他模块

三、关键知识点

1.领域驱动设计之聚合与聚合根实例（https://www.cnblogs.com/malaoko/p/4993457.html）
...]]></description><category></category></item><item><title><![CDATA[使用Apache JMeter做压力测试]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/80403968</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/80403968</guid><author>alli0968</author><pubDate>Tue, 22 May 2018 14:15:41 +0800</pubDate><description><![CDATA[- 介绍 -JMeter是Apache组织的开放源代码项目，能做功能测试和性能测试。它能够对HTTP和FTP服务器进行压力和性能测试，也可以对任何数据库进行同样的测试（通过JDBC），还能以多种形式展现测试结果。- 应用场景 -开发环境UI响应比较慢，解决思路：1. 先用browser debug工具分析发现是接口响应慢，导致UI一直处于等待状态2. 然后使用工具做接口性能分析3. 最后对分析出来...]]></description><category></category></item><item><title><![CDATA[第一个Python小游戏]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/79243112</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/79243112</guid><author>alli0968</author><pubDate>Fri, 02 Feb 2018 21:02:43 +0800</pubDate><description><![CDATA[猜数游戏，规则：
1. 程序生成1-10的一个随机数
2. 每次猜数，程序给出提示（或大，或小）
3. 一共3次机会
程序：
#p2_1.py
"""--- 第一个小游戏 ---"""#长字符串
import random

secret = random.randint(1, 10)
guess = int(input("不妨猜一下我现在心里想的是哪个数字："))
if guess =]]></description><category></category></item><item><title><![CDATA[什么是架构，什么是架构师？]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/78921049</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/78921049</guid><author>alli0968</author><pubDate>Thu, 28 Dec 2017 13:27:06 +0800</pubDate><description><![CDATA[什么是架构，什么是架构师？

——这似乎是聊架构话题时永恒的问题。



从内心讲我真的不想回答架构具体需要做什么，架构师应该具体负责什么。因为从实际情况看，在不同的系统层级，不同的需求下架构师的职责也会不同；从不同的技术角度看，架构师又是个变色龙——一时是技术的大拿，一时是技术的规划者，一时是技术团队的指挥者。

那么，该如何回答“什么是架构，什么是架构师”这个问题呢？这或许需要]]></description><category></category></item><item><title><![CDATA[Lambda表达式之map reduce & groupingBy]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/78128160</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/78128160</guid><author>alli0968</author><pubDate>Thu, 28 Sep 2017 21:08:05 +0800</pubDate><description><![CDATA[1. map & reduce
reduce操作可以实现从一组值中生成一个值。count、min、max方法，因为常用而被纳入到标准库中。事实上，这些方法都是reduce操作。


2. 使用收集器
前面使用过collect(toList())在流中生成Lst，但是有时人们还希望从流中生成其他集合（如：Set或Map），或者你希望定制一个类将你想要的东西抽象出来。
这就是“收集器”，只]]></description><category></category></item><item><title><![CDATA[软件设计原则之职责单一原则]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/77774768</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/77774768</guid><author>alli0968</author><pubDate>Fri, 01 Sep 2017 17:05:20 +0800</pubDate><description><![CDATA[职责单一原则作为面向对象的SOLID原则之首，可见其重要性了，职责单一原则使得软件系统更易于开发，测试和维护，在设计架构上也体现了高内聚低耦合的特性。
面向对象的S.O.L.I.D 原则

一般来说这是面向对象的五大设计原则，但是，我觉得这些原则可适用于所有的软件开发。

Single Responsibility Principle (SRP) – 职责单一原则

关于单一职责原则，其核心的思]]></description><category></category></item><item><title><![CDATA[IntelliJ 使用心得]]></title><link>https://blog.youkuaiyun.com/alli0968/article/details/53131436</link><guid>https://blog.youkuaiyun.com/alli0968/article/details/53131436</guid><author>alli0968</author><pubDate>Fri, 11 Nov 2016 19:01:55 +0800</pubDate><description><![CDATA[最近加入了新的公司HP，IDE从Eclipse转到IntelliJ的同学，适应快捷键最快的方法就是在IntelliJ里应用Eclipse的快捷键，如下图：








]]></description><category></category></item></channel></rss>