发表于: 2022-03-12 23:46:53

2 1210


一,今天完成的事情

任务九

1,我之前收到况师兄的沟通,非常感谢,内容如下:

 任务九学完   你可以回顾一下任务一到任务九的深度思考    然后把自己的思考写一下

https://zhuanlan.zhihu.com/p/68277801     这个   他写的文章你也可以仔细看一看。

任务九学完了就没了   散修不能做复盘    只能线下或者外门,复盘就是找个PM,前端,测试加上你一起做项目,不过现在      PM,前端,测试都没有了,所以也不推荐你做复盘。

 任务九可以不学Tuscany框架   这个外面现在用的很少了   资料也很少   你可以直接学spring-cloud

用spring-cloud实现一下就行了 。


而原来任务9的要求如下:

具体步骤

1.寻找Apache Tuscany的官方手册,查看如何配置TuscanySpring

2.将原有的Spring RMI更改为Tuscany的RMI,WEB端更改为Tuscany的调用方式。

3.部署两台Service,在WEB中随机访问任意一台Service

4.部署两台WEB,通过Nginx配置两台WEB随机访问,两台WEB可以随机访问两台Service

 

验收标准

1.任何一台WEB/Service 挂掉,不影响正常使用


现在变成Spring Cloud

我的最终目的是用Spring Cloud的(部分)功能,实现一个分布式系统。

1,包含web前端,web前端能调用后端。

2,至少有两台service,web能随机访问其中任意一台。

3,WEB部分还是通过Nginx配置两台随机访问;并且两台WEB可以随机访问两台Service(其中之一)。


2,所以我的任务九是用Spring Cloud,实现网站。

在开始Spring Cloud之前,需要先查看Spring Boot的使用方式。Spring 系列的学习需要以官方网站为蓝本,https://spring.io/projects/spring-boot#learn 。


我已经找到具体项目,推荐 https://spring.io/guides#getting-started-guides ;如果做完任务1-8,这个页面的前6个看了,run过了,开始看Spring Cloud也可以了。这个页面同时也包含Spring Cloud的官方项目,都提供了可以clone的github地址。


Spring Boot和Spring Cloud是什么请优先查看官方网站overview。因为开发者的母语一般是英语,而且官方网站是英文写成,我以官方网站为准,很多内容我直接给出英语的解释。官方网站是首先需要参考的。中文教程同样优秀。


对于Spring Cloud,我还是要摘抄官网的一句话“Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems ”。相对于任务八中的RMI,Spring Cloud提供了完整的生态给分布式系统。不止是把项目从service和controller开始分开。


3,

(1)在resource文件夹中的配置文件:

.yml文件是Spring Boot喜欢用的配置文件类型。一定要知道缩进,各种符号的规则。

.properties文件也使用,而且是Spring官网还比较喜欢使用的文件类型,Spring Cloud肯定是一般用.yml配置方式方便。

(2)文件名本身也有区别。查看“

Spring Boot 配置文件 bootstrap / application 到底有什么区别”等类似文章。

我最终的项目用的是application.yml一种。因为项目相对不复杂。


4,在看Spring的时候,经常会看到GA, PRE, SNAPSHOT,这些和软件版本有关。

建议一定要看明白GA、RC、release,stable,alpha,beta,pre,snapshot等含义。指软件版本的含义,建议自行查看具体指代什么。

而SR带数字,比如SR1…SR2(Service Release)指修正版。release版本发布之后优先对于release版本的问题进行修复,这时候每次迭代的版本就是SR1,SR2,SR3...以此类推。


5,我特意要提醒Spring Cloud和Spring Boot兼容(compatibility)的问题。在本部分表格中,Release Train一栏是Spring Cloud,Boot Version一栏是Spring Boot。既然已经明确对应版本,按照版本做版本不对应Spring Cloud在实际中很容易出错。

Adding Spring Cloud To An Existing Spring Boot Application

If you an existing Spring Boot app you want to add Spring Cloud to that app, the first step is to determine the version of Spring Cloud you should use. The version you use in your app will depend on the version of Spring Boot you are using.

The table below outlines which version of Spring Cloud maps to which version of Spring Boot.

Table 1. Release train Spring Boot compatibility
Release TrainBoot Version

2021.0.x aka Jubilee

2.6.x

2020.0.x aka Ilford

2.4.x, 2.5.x (Starting with 2020.0.3)

Hoxton

2.2.x, 2.3.x (Starting with SR5)

Greenwich

2.1.x

Finchley

2.0.x

Edgware

1.5.x

Dalston

1.5.x


2020年至今的版本是年份数字表示的;而之前的版本是伦敦地铁站名。


6,Spring Cloud旗下目前包含如下部分:


以上部分建议至少进去查看overview的第一段。很多功能,我是不可能全部都加到我最终呈现的项目中。我的习惯是先知道一个东西能做什么,不着急看怎么用。可能是知道某个功能常用,我再去实践如何运用,然后加入。或者是知道这个东西适合我需要加入的功能,我赶紧看怎么用,然后想办法加入自己的项目。


如果都不知道有这么一种现成的解决方法,那就麻烦了。


二,今天问题

我感觉葡萄藤公司老大有提醒我跨域的问题,比如在任务八的RMI使用。需要把这个在云上linux实际跑出来。我首先要让自己服气。


三,今天的收获

曾经有一位在2000年左右在清华大学拿到计算机本科学位的,principle/partner engineer问我:你如何证明自己学东西学的快?

他本人聪明的可怕,但是我也不弱。整个修真院的任务九就算是对他的问题的一种回答。


如果说能安慰自己每刷通一道题是300USD,我最近就是这么安慰自己的。咬着牙风雨无阻每天3题。

算法与框架的使用相辅相成。


Spring Cloud我参考了各种中英文资料。官方文档给的案例,能直接clone的还是太少。分不同部分先照着做,就算是分部分使用都找了不止一个地方参考,因为都是互补的。


拆分难度。各部分自己觉得看懂,熟悉一点了,再看各种Spring Cloud的github上获得多星的项目,这样才敢说自己对Spring Cloud的工程运用了。


四,明天的计划

任务九



返回列表 返回列表
评论

    分享到