当前位置: 首页 > news >正文

网站运营费用预算如何刷网站排名

网站运营费用预算,如何刷网站排名,广州王牌seo,icp ip 网站备案Nacos简单介绍 Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集#xff0c;帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务”为中心的现代应用架构 (例…Nacos简单介绍 Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 接下来主要介绍Nacos作为注册中心的使用和注册部分的源码解析。 Nacos安装 Nacos预装环境 Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos还需要为此配置 Maven环境这里就不介绍Maven和Java安装大家自行安装一下。 安装的方式主要有两种: 从GitHub上下载源码安装: //下载源码的地址 git clone https://github.com/alibaba/nacos.git cd nacos/ //编译源码 mvn -Prelease-nacos -Dmaven.test.skiptrue clean install -U ls -al distribution/target/ //进入编译包 cd distribution/target/nacos-server-$version/nacos/bin 2.下载安装包的形式: tar -xvf nacos-server-$version.tar.gz cd nacos/bin 启动服务器 启动命令(standalone代表着单机模式运行非集群模式): sh startup.sh -m standalone 关闭服务器 sh shutdown.sh 单机环境下使用Mysql 在0.7版本之前在单机模式时nacos使用嵌入式数据库实现数据的存储不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力具体的操作步骤 安装数据库版本要求5.6.5初始化mysql数据库数据库初始化文件nacos-mysql.sql修改conf/application.properties文件增加支持mysql数据源配置目前只支持mysql添加mysql数据源的url、用户名和密码。 spring.datasource.platformmysql db.num1 db.url.0jdbc:mysql://127.0.0.1:3306/nacos?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrue db.userroot db.password123456 对于单机来说我们就是玩个demo是够的但是对于生产来说我们就要考虑高可用的方案了: 对于集群部署的方式如果在虚拟机环境就采用Nagix负载3台虚拟机对于K8S的环境通过Service负载3台Pod的形式搭建高可用环境对于数据库选择来说最好采用主从结构保证数据库的高可用。 整体的部署可能如下 下图就是搭建好以后的整体界面: Nacos使用 1.创建一个Spring Boot空应用 2.编辑pom.xml文件 propertiesspringboot.vetsion2.2.11.RELEASE/springboot.vetsionspring-cloud-versionHoxton.SR9/spring-cloud-versionspring-cloud-alibaba-version2.2.3.RELEASE/spring-cloud-alibaba-version/properties dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${springboot.vetsion}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud-version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba-version}/versiontypepom/typescopeimport/scope/dependency /dependencies /dependencyManagement dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency /dependencies 3.创建应用的启动项目 SpringBootApplication(scanBasePackages {com.springcloud.study}) EnableDiscoveryClient public class SystemApplication {public static void main(String[] args) {SpringApplication.run(SystemApplication.class, args);} } 4.配置application.yaml文 server:port: 8081 spring:application:name: system# 数据源配置项datasource:url: jdbc:mysql://127.0.0.1:3306/study_user?useSSLfalseuseUnicodetruecharacterEncodingUTF-8driver-class-name: com.mysql.jdbc.Driverusername: rootpassword: 123456#nacos基础配置cloud:nacos:discovery:server-addr: 10.226.73.115:8886#环境选择#namespace: b7d341fc-df29-45ce-b3cd-4415f66b1ee0 5.启动项目 Nacos注册部分源码分析 客户端通过Rest接口式向Nacos Server注册自己的服务提供自身的元数据比如ip地址、端口等信息。 Nacos Server接收到注册请求后就会把这些元数据信息存储在一个双层的内存Map中。对于注册部分的源码整体上分为两部分: 客户端注册源码 按照Spring Boot Starter的习惯我们首先找到spring-cloud-starter-alibaba-nacos-discovery启动项,如下图所示: 标红部分的NacosServiceRegistryAutoConfiguration是我们注册部分关注的类首先我们看下该类的整体的继承结构:   重点关注AbstractAutoServiceRegistration接口NacosAutoServiceRegistration该Bean的注入就是我们注入开始的:   整体看下该类基本上是对AbstractAutoServiceRegistration继承和实现该类位于spring-cloud-common这个jar下面Spring Cloud Commons模块是为了对微服务中的服务注册与发现、负载均衡、熔断器等功能提供一个抽象层代码这个抽象层与具体的实现无关。这样这些功能具体的实现上可以采用不同的技术去实现并可以做到在使用时灵活的更换。 NacosAutoServiceRegistration内部存在一个EventListener注解EventListener是一种事件驱动编程在spring4.2的时候开始有的可以理解为ApplicationListener接口的扩展方便我们使用可以理解为Spring为我们提供的一个事件监听、订阅的实现内部实现原理是观察者设计模式为的就是业务系统逻辑的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听监听具体的实现内容是什么发布者的工作只是为了发布事件而已。   接下来我们重点看下AbstractAutoServiceRegistration内部start方法   register的具体的实现类是NacosServiceRegistry内部调用NacosNamingService的registerInstance方法该方法内部通过调用NamingProxy的reqApi,通过NacosRestTemplate请求服务端的/instance方法注册到服务端。   至此完成了客户端注册到服务端下图是整体的时序图: 服务端注册部分 服务端注册相对比较复杂一点这块需要将Nacos源码下载一下找到naming模块,InstanceController就是我们调用服务端的接口如下图所示: 接下来重点看下ServiceManager的registerInstance的方法如下图:   首先看下createEmptyService方法该方法目的双肩一个双层的Map对象用于存储注册应用的信息整体的结构Map(namespace, Map(group::serviceName, Service))这里正好对应注册中心介绍时候的张图我们整体在看一下:   初始化的注册表结构以后接下来就是将应用的信息注册添加到注册表中主要分为两步如下图:   addIpAddresses就是获取当前注册服务的所有ip,整体的流程如下图:   这里的主要的重点是put方法这里我们全部按照CP的场景去解释AP的场景在未来的章节补充CP的实现类是DistroConsistencyServiceImpl如下图:   通过把需要注册到注册表的服务添加到阻塞队列当中Notifier本质上一个线程然后通过执行run内部的hander方法如下图:   通过调用Service的onChange方法来变更注册表的信息内部主要通过updateIPs完成注册表信息的表更主要也是采用CopyOnWrite的思想如下图:   到此服务端的注入就完成了这个里面整体上有三处亮点: 1.CopyOnWrite的思想的广泛应用; 2.通过阻塞队列实现异步任务提升系统性能并且解决并发写入问题 3.观察者设计的广泛应用
http://wiki.neutronadmin.com/news/44035/

相关文章:

  • 网站 使用的字体seo排名优化技巧
  • php 网站后台管理系统个人备案做分站的网站吗
  • 公司做两个网站有影响吗网络规划设计师教程第2版2021版pdf
  • qq音乐如何做mp3下载网站手机网站需要什么
  • 大网站好省推广100种方法
  • 自助建站源码php就要外贸人才网论坛
  • 网站优化的方法网站建设課程
  • 王晴儿网站建设方案免费的个人简历模板 空白
  • 专注高密网站建设合肥刚刚发布紧急通知
  • 广州有哪些建站公司投资理财网站开发
  • 用主机宝建立的网站上传之后404上线了做的网站怎么办
  • 怎么做新网站上线通稿网站在线制作平台
  • 互动型网站模板天水网站开发
  • 白水网站建设wordpress地址和站点地址有什么用
  • 天津教育网站官网建筑工人app
  • 水网站源码我想做直播网站该怎么做
  • 排名好的徐州网站建设域名历史解析查询
  • 工业网站模板找设计案例的网站
  • 二手房网站怎么做传销公司做网站运营
  • 成都蜀美网站建设企业网站设计沈阳
  • 网站建设客户告知书深圳保障性住房官网
  • 青岛百度推广优化怎么做的网络seo推广培训
  • 怎么确认网站是什么语言做的广告公司名字大全简单
  • 化州网站建设wordpress作者列表
  • 科讯怎么建设网站微网站建设包含哪些内容
  • 学校门户网站开发泰安网站建设价格
  • 广州专业网站设计企业网站开发及维护
  • 自己怎么做新闻开头视频网站一级造价工程师注册管理系统
  • 关于做好网站建设的通知跨平台软件开发工具
  • 设备免费做网站推广2022年最新国际军事新闻