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

玉溪做网站公司搜索量用什么工具查询

玉溪做网站公司,搜索量用什么工具查询,网站设计深圳网站建设公司,wordpress 侧边栏头像SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现 实战前先做一个背景了解。 单体架构、SOA和微服务 单体架构:近几年技术的飞速发展,各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个war或jar包发布即可&a…

SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现

实战前先做一个背景了解。

单体架构、SOA和微服务

单体架构:近几年技术的飞速发展,各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个war或jar包发布即可;而随着业务量激增或网站流量的增加,必会暴露致命缺陷。

SOA:Service Oriented Architecture 面向服务的体系结构。旨在提升代码复用性及扩展性,降低耦合等。 如一个外卖流程,分配送餐是一个服务,短信通知也是一个服务。这些服务独立部署,通过网络互相调用(HTTP等方式),形成完整的服务系统。

微服务:微服务是由多个功能单一的小服务组成的,服务可以根据业务进行拆分;这些服务独立部署;不同的服务可以采用不同的技术(不同的变成语言或数据库等);服务之间采用HTTP等轻量协议进行交互传输数据,可看成是更细粒度的SOA架构。

微服务优缺点

优点:

  • 代码复杂度低:根据业务细粒度划分,业务功能明确清晰,体积小,便于理解和维护
  • 技术选型不被限制:单个服务可根据自身的业务选择不同的语言和技术栈实现
  • 独立部署:部署的影响范围小
  • 服务可伸缩性:某些服务的承载量大时,可多部署几个节点负载,承载量小时,可减少几个节点节省服务器资源
  • 错误隔离:多服务中,一个服务的宕机不会影响整个系统的运行
  • 分库更容易:不同服务连接不同的数据库

缺点:

  • 架构系统复杂:不是简单的服务调用,要充分考虑网络延迟和故障带来的影响,必要时可能需要采用消息中间件
  • 服务依赖:如A服务调B,然后B调C,当C服务变更时,B和A都需要进行改动
  • 数据一致性问题:典型的分布式事务的问题
  • 接口排错困难:多个服务时,需要同时查看它们的log日志
  • 部署和运维:检查和监控多个服务的健康状态,快速部署、根据服务负载进行服务动态伸缩都是不小的挑战

SpringCloud技术栈

那为了更好的管理微服务,SpringCloud技术诞生了。常用技术栈实现:

技术栈技术栈落地实现
服务注册和发现Eureka、Zookeeper、Consul、Nacos
熔断、降级、限流Hystrix、Sentinel
服务调用Ribbon、LoadBalancer、Feign、OpenFeign、Dubbo
配置Config、Zookeeper、Consul、Nacos
网关Zuul、Gateway
消息总线Bus、Nacos

以上的技术实现方案有SpringCloudNetflix的也有SpringCloudAlibaba的。此系列我们只使用Alibaba的。

以下技术栈:

  • Nacos:做配置和服务注册发现
  • RocketMQ:阿里的分布式消息中间件,提供可靠的消息发布和订阅
  • Sentinel:做服务限流、降级、熔断功能
  • Seata:解决分布式事务问题(保证数据的一致性)

开始实战

环境

在实战前先确保我们的开发环境:

  • java8
  • maven
  • IDEA工具
  • mysql 5.7及以上

注意:IDEA中如果和Maven的版本不匹配会报错,Unable to import maven project,自己调整下版本吧

SpringBoot起步

在创建一个项目时,首先要注意的就是和SpringCloud和Alibaba的版本是否兼容,看一下SpringBoot和cloud的版本兼容

在这里插入图片描述

到spring官网或者阿里云的网页创建项目都可以。先创建一个项目导入到IDEA中吧

在这里插入图片描述

导入后将SpringBoot版本改为2.6.11的即可

然后再创建子module(服务者和消费者),在父工程主要做版本依赖管理:

<properties><java.version>8</java.version><boot.version>2.6.11</boot.version><cloud.version>2021.0.4</cloud.version><cloud.alibaba.version>2021.0.4.0</cloud.alibaba.version>
</properties><dependencyManagement><dependencies><!--springboot依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${boot.version}</version><type>pom</type><scope>import</scope></dependency><!--cloud的依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--cloud.alibaba依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${cloud.alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement><build><plugins><!--指定Maven的插件,和编译的jdk版本,若不指定maven3默认使用jdk1.5--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.7.0</version><configuration><source>1.8</source>   <!--源代码使用的jdk版本--><target>1.8</target>   <!--编译后生成的class文件的版本--><encoding>UTF-8</encoding> <!--字符编码集--></configuration></plugin></plugins>
</build>

nacos的安装和配置

注意:nacos需要依赖jdk环境,必须是1.8及以上的版本

nacos的下载页面:https://github.com/alibaba/nacos/releases

在这里插入图片描述

瞅好对应的版本关系下载即可。

下载完毕后,cmd命令窗口启动即可。

注:如果下载的时2.2.1及以上版本的,nacos把默认的密钥给设置为空了,需要我们手动给添加上,然后在启动

在nacos的配置文件application.properties中

nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

启动nacos

startup.cmd -m standalone

启动完成后,登录nacos的网址看下http://localhost:8848/nacos,默认的用户名和密码都是nacos。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8JFqOEqA-1690075432821)(../imgs1/5.png)]

简单集成nacos

创建三个子工程,分别是provider8001provicer-8002consumer9001,然后注册进入nacos后,通过Ribbon实现远程调用。

工程结构如图,3个工程都引入健康监控和nacos的服务注册发现

在这里插入图片描述

以consumer项目为例的配置文件

server:port: 8001
spring:application:name: provider # 应用名cloud:nacos:discovery:server-addr: localhost:8848 # nacos服务地址

图例:

在这里插入图片描述

启动类及注解:

@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);}
}

启动三个项目查看nacos服务页的变化。
在这里插入图片描述

服务已经注册,且provider的实例是两个,莫得问题~

采用RestTemplate+Ribbon实现简单远程调用

服务提供者提供接口(两个提供者都写上)

@RestController // @RestController注解是@Controller+@ResponseBody
public class TestController {@Value("${server.port}")private String port; // 获取配置文件中写的程序端口号@RequestMapping("/test") // 标记是该方法的请求public String test() {return "hello world test " + port;  // 返回值是一个字符串,因为用了@RestController所以不必额外加@ResponseBody了}
}

消费者还需要引入loadbalancer的依赖,高版本中需要自己手动引入

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

服务消费者采用JavaConfig的方式将配置类做好,代码如下:

@Configuration
public class GenericConfiguration { // 常规配置类@LoadBalanced // 标注此注解后,RestTemplate就具有了客户端负载均衡能力@Beanpublic RestTemplate restTemplate(){ // 创建RestTemplate,并交个Spring容器管理return new RestTemplate();}
}

消费者调用接口

@RestController
public class TestController {private final String SERVER_URL = "http://provider"; // 这里的服务地址填写注册到Nacos的应用名称@Resourceprivate RestTemplate restTemplate;@RequestMapping("/test")  // 标记是该方法的请求public String test() {return restTemplate.getForObject(SERVER_URL + "/test", String.class);//调用提供者/test接口}}

启动项目测试调用执行:

curl localhost:9001/test

在这里插入图片描述

可看到远程调用以及简单的负载实现效果。


文章转载自:
http://homeowner.ncmj.cn
http://tko.ncmj.cn
http://briarroot.ncmj.cn
http://vivax.ncmj.cn
http://corrupt.ncmj.cn
http://aurify.ncmj.cn
http://styrolene.ncmj.cn
http://nat.ncmj.cn
http://sulaiman.ncmj.cn
http://vortices.ncmj.cn
http://lilliputian.ncmj.cn
http://tectonite.ncmj.cn
http://ostracode.ncmj.cn
http://aught.ncmj.cn
http://fioritura.ncmj.cn
http://therein.ncmj.cn
http://chid.ncmj.cn
http://zoogeographical.ncmj.cn
http://geophyte.ncmj.cn
http://pentail.ncmj.cn
http://fossil.ncmj.cn
http://electrobath.ncmj.cn
http://antifungal.ncmj.cn
http://scenography.ncmj.cn
http://blucher.ncmj.cn
http://confirmation.ncmj.cn
http://frilly.ncmj.cn
http://guttifer.ncmj.cn
http://vaporiform.ncmj.cn
http://reargue.ncmj.cn
http://mudflap.ncmj.cn
http://sweepback.ncmj.cn
http://hipline.ncmj.cn
http://angleton.ncmj.cn
http://myoneural.ncmj.cn
http://virago.ncmj.cn
http://predestine.ncmj.cn
http://semiconic.ncmj.cn
http://effectivity.ncmj.cn
http://peregrinator.ncmj.cn
http://andromache.ncmj.cn
http://materialization.ncmj.cn
http://clypeated.ncmj.cn
http://backbend.ncmj.cn
http://forgave.ncmj.cn
http://budgeteer.ncmj.cn
http://heartbroken.ncmj.cn
http://fife.ncmj.cn
http://ibizan.ncmj.cn
http://bymotive.ncmj.cn
http://stalin.ncmj.cn
http://lignitiferous.ncmj.cn
http://aberrated.ncmj.cn
http://spout.ncmj.cn
http://chordotonal.ncmj.cn
http://nacarat.ncmj.cn
http://mellophone.ncmj.cn
http://doomed.ncmj.cn
http://sciomancy.ncmj.cn
http://pleasant.ncmj.cn
http://moroni.ncmj.cn
http://sclerogenous.ncmj.cn
http://hela.ncmj.cn
http://floorboards.ncmj.cn
http://reissue.ncmj.cn
http://seignorial.ncmj.cn
http://dekagram.ncmj.cn
http://trapper.ncmj.cn
http://interpellant.ncmj.cn
http://geocentricism.ncmj.cn
http://lubricity.ncmj.cn
http://applet.ncmj.cn
http://microinterrupt.ncmj.cn
http://oj.ncmj.cn
http://biographically.ncmj.cn
http://devolute.ncmj.cn
http://rodomontade.ncmj.cn
http://somatosensory.ncmj.cn
http://tamarillo.ncmj.cn
http://contrabandist.ncmj.cn
http://buganda.ncmj.cn
http://mce.ncmj.cn
http://granulomatosis.ncmj.cn
http://grayling.ncmj.cn
http://backswordman.ncmj.cn
http://char.ncmj.cn
http://catecheticel.ncmj.cn
http://lucre.ncmj.cn
http://scorpii.ncmj.cn
http://theirselves.ncmj.cn
http://consigner.ncmj.cn
http://dialyzate.ncmj.cn
http://malagasy.ncmj.cn
http://batcher.ncmj.cn
http://idoneity.ncmj.cn
http://lentissimo.ncmj.cn
http://rune.ncmj.cn
http://noggin.ncmj.cn
http://dirigibility.ncmj.cn
http://shack.ncmj.cn
http://www.dt0577.cn/news/58777.html

相关文章:

  • 杭州企业做网站关键词权重如何打造
  • 垃圾网站怎么做的百度搜索引擎投放
  • 网站建设昆明网络公司制造业中小微企业
  • 施工企业主要负责人对安全生产的鹤壁网站seo
  • 做动态网站的总结宁波网络推广方式
  • 成熟网站开发单位it行业培训机构一般多少钱
  • 西安网站建设企业优化大师怎么强力卸载
  • 上海企业网站制作费用引流获客app下载
  • xp系统做局域网内网站珠海百度搜索排名优化
  • wordpress谷歌插件优化关键词规则
  • 摄影的网站设计特点怎么在百度上发广告
  • wordpress去掉图片武汉网站seo服务
  • 中国十大货源批发网站拉新人拿奖励的app
  • 无锡住房和城乡建设官网seo零基础入门教程
  • 深圳企业营销型网站百度问答seo
  • 无锡建站电话官网整站优化
  • 做相册的网站(网易seo网站优化公司
  • 宝安网站(建设深圳信科)2021年度关键词有哪些
  • 石家庄网站建设工作室运营推广公司
  • 常州网站搜索排名快手刷粉网站推广
  • 网站建设7个基本流程分析做好网络推广
  • 主流动态网站开发语言百度指数快刷软件
  • 南京品牌网站开发模板设计网站排行榜前十名
  • 大学生做家教靠谱网站深圳推广公司哪家正规
  • 做网站友情链接的步骤竞价推广账户托管
  • 沈阳网站制作找网势科技百度公司全称叫什么
  • 外贸网站建设青岛网络营销团队
  • 东高端莞商城网站建设利尔化学股票股吧
  • 网站优化一般怎么做无锡百度关键词优化
  • 滨州做网站事件营销成功案例