tomcat服务器
tomcat作为一个可执行程序,通过给它提供配置文件以及servlet handler class来运行。这时候服务器的配置由配置文件完成,代码逻辑由你的servlet完成。这时候整个程序的控制权在tomcat服务器手里,它来读取你的服务配置和servlet handler。程序的入口和运行流程由tomcat server决定。
tomcat library
tomcat是用java写的,本身也提供了java api。那么我们可以通过创建一个org.apache.catalina.startup.Tomcat的实例来配置tomcat。并决定它何时启动以及如何运行。程序的入口和运行流程由我们自己的程序决定。 此时无需配置文件,直接设置Tomcat()的属性即可。
之所以Tomcat可以嵌入在spring里面运行,就是spring调用了tomcat的api创建了tomcat 运行时实例,并且这个运行时实例是和spring的其他代码运行在同一个进程之内的。
与python的uwsgi服务器对比
uwsgi是c语言实现的,不能在python里面创建一个实例然后在同一个地址空间运行
与etcd服务器相比
embed etcd与embed tomcat非常类似,调用etcd的library,可以在自己的进程里创建一个etcd实例,并且让该实例和其他代码一同运行。