1.eureka的端口是8888,nacos的端口是8848
2.启动方式不同
eureka需要创建项目,并且配置yml和开启服务注册的注解
nacos只需要启动下载好的jar就行
3.eureka是注册中心,nacos是注册中心和配置中心
4.删除服务不同
当注册在eureka的服务挂掉后,不会把服务删除掉,而是把状态变成了down
当注册在nacos的服务挂掉后,默认是临时实例,nacos会立即把服务从服务列表删除
也可以在代码中配置非临时实例
#设置为非临时实例 spring.cloud.nacos.discovery.ephemeral=false
这样服务挂掉后,就不会被nacos删除
5.连接方式不同
eureka是定时器,1分钟执行一次,短连接
nacos是基于netty的长连接
最后说明
eureka现在已经不在维护了
nacos还在不断的更新
nacos的@RefreshScope注解作用于controller上,可以动态刷新配置,不需要重新启动项目
nacos还可以把默认的derby数据库,改成mysql数据库
当nacos挂掉之后,服务还可以去nacos的本地数据库derby中拿到缓存的配置信息
在框架选型的时候,我们优先考虑nacos