最近和一位高校的老师聊天,老师问我:“最近邀请一些企业来校洽谈,很多企业需要会微服务的学生,而我们的大纲中依然在教jsp,微服务很多老师还不太会。我们该怎样转型。”这个问题我无法回答,不会只能去学会。 jsp还是需要学习的,但不能再占用一个学期那么多的时间。社会使用的技术在进步,高校也只能与时俱进,否则只能疏离于市场需要,让自己的学生滞销。
开这个专题的目的就是为了学习微服务。微服务其实就是一些已经造好的轮子,开发者用这些轮子先造n个不同用途的车子,然后把这些车子组合成一个具有很多功能的车队(叉车用来装货,重货车用来运大件重货,小货车用来运小件轻货,客车用来运人)。比如:有个电商网站,用传统的方法得从注册、登录开始一步步做成个大系统(还得考虑高并发下分布式的负载均衡),全做完后整体调试上线。但用微服务的方式就可以先做个会员系统微服务,上线;再做个商品系统微服务,上线;然后做个订单系统微服务,上线;用一个网关来读取的各种请求数据,再从一个注册中心获取对应的服务信息,然后根据服务信息调用所需的微服务。其中微服务的实例开发、服务的注册与发现、服务的容错、服务网关、负载均衡、分布式配置中心、测试调试、自动化部署等都是造好的轮子,只要学会拼装就可以制成叉车,吊车等辅助车辆。
微服务技术框架的候选方案有很多,而且随着需求的提高和技术进步,不断推陈出新。比如:国内企业原先用的比较多的是国产的Dubbo框架,后来发现Spring Cloud提供了更加完整的企业级解决方案。而就在写这篇专栏开篇的时候,Spring Cloud停止更新,阿里的nacos急速崛起,企业们又望新而去。你方唱罢我登场,各领风骚大半年。我们这个专栏就在这个大背景下慢吞吞地起航了。
我们先学习如何做微服务实例的开发,这里采用Spring Boot框架。
一、Spring Boot开发环境的搭建和开发工具的选择。
(1):安装jdk1.8版本以上(注意配置好环境变量)
(2):下载编辑器,本专栏采用Spring Tools 4 for Eclipse作为编辑器,下载地址:https://spring.io/tools#main
我选windows版64位,下载后解压,默认文件夹名:sts-4.7.0.RELEASE,样子如下图:
(3):安装配置Maven,Maven 是用于项目构建的,安装完之后也需要配置环境变量。
下载地址:http://maven.apache.org/download.cgi
选择apache-maven-3.6.3-bin.zip下载;后解压到D:\java\maven目录下;新建环境变量MAVEN_HOME:D:\java\maven\apache-maven-3.6.3;环境变量Path中追加%MAVEN_HOME%\bin\;dos命令行下执行:mvn -v,看到maven版本表示配置成功。
二、创建项目:
(1)打开Spring Tools 4 for Eclipse:
(2)创建项目,点file->new->spring starter project
点next->选择spring boot版本,第一个项目先做成web项目,选spring web。
点Finish,看到下图的项目。
在com.example.demo目录下新建一Hello.java文件,写入。
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloApplication {
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
保存,然后运行,找到入口文件HelloApplication.java,在上面右键,选择run as→Spring boot app,项目启动。
然后用浏览器访问:http://localhost:8080/hello第
第一个项目运行起来了。