快捷搜索: 王者荣耀 脱发

SpringCloud-Alibaba之Nacos,Java集合面试题及答案

Nacos是什么

Nacos是什么?小伙伴们是不是没有听说吧。但Eureka做过微服务的肯定知道吧,在SpringCloud中做服务注册中心组件,类似Duboo的Zookeeper,还有Consul。

Nacos也是一个注册中心组件,不过它不仅仅是注册中心。Nacos也是一个配置中心,比如SpringCloud中的Config,将配置文件版本化管理。

那么Nacos到底是什么呢, 总结为官网一句话就是:

一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

简单来说 Nacos 就是注册中心 + 配置中心的组合,提供简单易用的特性集,帮助我们解决微服务开发必会涉及到的服务注册与发现,服务配置,服务管理等问题。

Nacos还是Spring Cloud Alibaba组件之一,负责服务注册与发现。

为什么是 Nacos

现在的微服务生态中,已经有很多服务注册与发现的开源组件,如 Eurka,ZooKeeper,Consul,为什么还要用Nacos呢,我们看下这些框架的简单对比:

据说 Nacos 在阿里巴巴内部有超过 10 万的实例运行,已经过了类似双十一等各种大型流量的考验

相比之下,目前的Nacos无论是部署,还是使用上都简单,更重要的是文档资料齐全,社区活跃度高。

并且Nacos与目前主流的开源生态都提供了很好的支持:

1、Nacos 是专为 Dubbo 而生的注册中心与配置中心

2、Nacos 会完全兼容 Spring Cloud

3、Nacos 支持 Service Mesh 集成,Kubernetes 集成

除此之外,阿里巴巴正在通过Dubbo + Nacos以及一系列开源项目打造服务发现、服务及流量管理、服务共享平台,未来还在不断地发展和演进,相信未来会有更多的地方上使用 Nacos。

单机部署

准备环境

Nacos依赖Java环境来运行,所以部署前需要保证环境要求:

1、64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix。
2、64 bit JDK 1.8+

去github上搜索nacos,发现releases发布版本

解压运行

这里 Nacos 单机部署方式使用命令 -m standalone ,如果是 Windows 命令,可以直接双击 startup.cmd 文件即可。

浏览器访问http://{ip}:8848/nacos/index.html,点击就进入了Nacos的可视化管理界面,需要账号密码登录访问,默认都为****nacos

登录之后就能在网站侧边栏上看到Nacos的主要功能菜单:配置管理,服务管理,集群管理,命名空间。

服务提供者

通过一个简单的示例来感受一下如何将服务注册到Nacos,其实和Eureka没有太大差别

POM

创建一个工程名为shop-goods-service的服务提供者项目,pom.xml配置如下:

注:因为我们使用Dubbo的RPC,所以也引用了Dubbo;这个以后会讲

Application

通过**@EnableDiscoveryClient注解表明是一个Nacos客户端,该注解是Spring Cloud提供的原生注解**

定义接口实现

注意:GoodsServiceImpl的接口实现类上面有@Service注解,是org.apache.dubbo.config.annotation.Service

application.yml

启动工程

通过浏览器访问 http://192.168.5.153:8848/nacos,即 Nacos Server 网址

你会发现一个服务已经注册在服务中了,服务名为goods-provider。这个过程其实蛮简单的,跟之前dubbo的使用没什么不一样。

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

如果你需要这份完整版的面试笔记,只需你多多支持我这篇文章。

[外链图片转存中…(img-RNCDv33H-1628686297982)]

经验分享 程序员 微信小程序 职场和发展