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

nodejs做网站容易被攻击吗seo排名哪家公司好

nodejs做网站容易被攻击吗,seo排名哪家公司好,新郑网站建设公司,浙江住房与城乡建设厅官方网站查询目录标题 一、简介二、SpringCloud Alibaba核心组件2-1、Nacos (配置中心与服务注册与发现)2-2、Sentinel (分布式流控)2-3、RocketMQ (消息队列)/RabbitMq/kafka2-4、Seata (分布式事务)2-5、Dubbo (RPC) 三、为什么大家看好 Spring Cloud Alibaba3-1、阿里巴巴强大的技术输出…

目录标题

  • 一、简介
  • 二、SpringCloud Alibaba核心组件
    • 2-1、Nacos (配置中心与服务注册与发现)
    • 2-2、Sentinel (分布式流控)
    • 2-3、RocketMQ (消息队列)/RabbitMq/kafka
    • 2-4、Seata (分布式事务)
    • 2-5、Dubbo (RPC)
  • 三、为什么大家看好 Spring Cloud Alibaba
    • 3-1、阿里巴巴强大的技术输出能力
    • 3-2、集成Dubbo,利用Dubbo在微服务领域的超高人气
    • 3-3、云原生趋势,集成阿里云商业化组件
  • 四、创建简单项目
    • 4-1、微服务环境搭建
    • 4-2、版本依赖
    • 4-3、组件版本关系
    • 4-4、创建项目
      • 4-4-1 导入springboot的jar包
      • 4-4-2 创建maven以及导入jar包
      • 4-4-3 运行App
      • 4-4-4 创建实例项目
  • 五、创建公共类存放
    • 5-1、创建sys-comm作为公共类
    • 5-2、sys-order
    • 5-3、sys-pro

一、简介

很多人可能会问,有了spring cloud这个微服务的框架,为什么又要使用spring cloud alibaba这个框架了?最重要的原因在于spring cloud中的几乎所有的组件都使用Netflix公司的产品,然后在其基础上做了一层封装。然而Netflix的服务发现组件Eureka已经停止更新;而其他的众多组件在2020年停止维护。所以急需其他的一些替代产品,也就是spring cloud alibaba,SpringCloud Alibaba是依赖SpringCloud相关的标准实现的一套微服务的架构。
作为 Spring Cloud 体系下的新实现,Spring Cloud Alibaba 跟官方的组件或其它的第三方实现如 Netflix, Consul,Zookeeper 等对比,具备了更多的功能:在这里插入图片描述

微服务架构的常见问题 一旦采用微服务系统架构,就势必会遇到这样几个问题:
• 这么多小服务,如何管理他们?(服务治理 注册中心[服务注册 发现 剔除])
• 这么多小服务,他们之间如何通讯?(restful rpc)
• 这么多小服务,客户端怎么访问他们?(网关 GateWay)
• 这么多小服务,一旦出现问题了,应该如何自处理?(容错)
A–>B–>C–D—E sentinel
• 这么多小服务,一旦出现问题了,应该如何排错? (链路追踪)
sluth
对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一 个问题提供了相应的组件来解决它们

二、SpringCloud Alibaba核心组件

配置中心 nacos : springcloud config
服务治理中心nacos : Eurke

2-1、Nacos (配置中心与服务注册与发现)

Nacos实现了服务的配置中心与服务注册发现的功能,Nacos可以通过可视化的配置降低相关的学习与维护成本,实现动态的配置管理与分环境的配置中心控制。 同时Nacos提供了基于http/RCP的服务注册与发现功能。

2-2、Sentinel (分布式流控)

Sentinel是面向分布式微服务架构的轻量级高可用的流控组件,以流量作为切入点,从流量控制,熔断降级,系统负载保护等维度帮助用户保证服务的稳定性。常用与实现限流、熔断降级等策略。

2-3、RocketMQ (消息队列)/RabbitMq/kafka

RocketMQ基于Java的高性能、高吞吐量的消息队列,在SpringCloud Alibaba生态用于实现消息驱动的业务开发,常见的消息队列有Kafka、RocketMQ、RabbitMQ等,相关的比较文档可以自行去翻阅。

2-4、Seata (分布式事务)

既然是微服务的产品,那么肯定会用到分布式事物。Seata就是阿里巴巴开源的一个高性能分布式事物的解决方案。

2-5、Dubbo (RPC)

Dubbo已经在圈内很火了,SpringCloud Alibaba基于上面提到的Nacos服务注册中心也同样整合了Dubbo。
在这里插入图片描述

三、为什么大家看好 Spring Cloud Alibaba

3-1、阿里巴巴强大的技术输出能力

阿里巴巴无疑是国内开源技术领域的最有影响力的公司之一,已经有Dubbo、Druid,FastJson等成功的开源组件,
再加上阿里不遗余力的推广,社区发展也非常快。

3-2、集成Dubbo,利用Dubbo在微服务领域的超高人气

Dubbo是国内应用最广的分布式服务框架之一,基于Dubbo改造的Dubbox等也有很多公司在使用,
Spring Cloud Alibaba对Dubbo做了比较好的集成,可以吸引不少使用Dubbo的开发者。

3-3、云原生趋势,集成阿里云商业化组件

云原生(Cloud Native)是今年技术领域特别热门的一个词,云原生是一种专门针对云上应用而设计的方法,用于构建和部署应用,以充分发挥云计算的优势。
Spring Cloud Alibaba 集成了阿里云的商业化组件,可以说天然支持云原生特性。

四、创建简单项目

4-1、微服务环境搭建

微服务环境搭建

数据库:mysql
持久层:mybatis-plus
Springcloud:Hoxton.SR9
SpringcludAlibaba: 2.2.6.RELEASE
SpringBoot:2.3.2.RELEASE
nacos:1.4.2
最新的版本对应关系可以参考网址:
https://github.com/alibaba/spring-cloud-alibaba

4-2、版本依赖

在这里插入图片描述
在这里插入图片描述

4-3、组件版本关系

每个 Spring Cloud Alibaba 版本及其自身所适配的各组件对应版本如下表所示(注意,Spring Cloud Dubbo 从 2021.0.1.0 起已被移除出主干,不再随主干演进)
在这里插入图片描述

4-4、创建项目

  • 先创建springboot
  • 在springboot下创建maven
    在这里插入图片描述

在这里插入图片描述

4-4-1 导入springboot的jar包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><packaging>pom</packaging><modules><module>sys-order</module><module>sys-pro</module><module>sys-comm</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>cloudalibaba</name><description>Demo project for Spring Boot</description><!--设置一些属性--><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-cloud.version>2020.0.1</spring-cloud.version><spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version></properties>
<!--    <dependencies>-->
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter</artifactId>-->
<!--        </dependency>--><!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-test</artifactId>-->
<!--            <scope>test</scope>-->
<!--        </dependency>-->
<!--    </dependencies>--><!--版本管理,不引入jar 包--><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><image><builder>paketobuildpacks/builder-jammy-base:latest</builder></image></configuration></plugin></plugins></build></project>

4-4-2 创建maven以及导入jar包

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>demo</artifactId><groupId>com.example</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>sys-pro</artifactId><name>sys-pro</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies></project>

4-4-3 运行App

package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** Hello world!**/
@SpringBootApplication
public class ProApp
{public static void main( String[] args ){System.out.println( "Hello World!" );SpringApplication.run(ProApp.class );}
}

4-4-4 创建实例项目

entity

package com.example.entity;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class Product {private Integer id;private String name;
}

controller

package com.example.controller;import com.example.entity.Product;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;@RestController
public class Procontroller {@GetMapping("/pro/{id}")public Product  getProById(@PathVariable Integer id) {return new Product(1,"test"+id);}
}

在这里插入图片描述

在这里插入图片描述

五、创建公共类存放

5-1、创建sys-comm作为公共类

在这里插入图片描述

    <dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>
package com.example.entity;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class Product {private Integer id;private String name;
}

5-2、sys-order

pom.xml 需要引入sys-comm公共类

  <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.4.2</version></dependency>
<!--        引用公共类--><dependency><groupId>com.example</groupId><artifactId>sys-comm</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>

controller

package com.example.controller;import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;import javax.annotation.Resource;@RestController
public class OrderController {// 远程调用@Resourceprivate RestTemplate restTemplate;public  Object addOrder(@PathVariable Integer pid) {KafkaProperties.Producer forObject= restTemplate.getForObject("http://localhost:8082/pro/2"+pid, KafkaProperties.Producer.class);return  forObject;}
}

App

package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;/*** Hello world!**/
@SpringBootApplication
public class OrderApp
{public static void main( String[] args ){System.out.println( "Hello World!" );SpringApplication.run(OrderApp.class);}@Beanpublic RestTemplate getRestTemplate(){return new RestTemplate();}
}

在这里插入图片描述

5-3、sys-pro

pom.xml 需要引入sys-comm公共类

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--        引用公共类--><dependency><groupId>com.example</groupId><artifactId>sys-comm</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>

controller

package com.example.controller;import com.example.entity.Product;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;@RestController
public class Procontroller {@GetMapping("/pro/{id}")public Product  getProById(@PathVariable Integer id) {return new Product(1,"test"+id);}
}

App

package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** Hello world!**/
@SpringBootApplication
public class ProApp
{public static void main( String[] args ){System.out.println( "Hello World!" );SpringApplication.run(ProApp.class );}
}

在这里插入图片描述

http://www.15wanjia.com/news/14465.html

相关文章:

  • 建造师网站长工具seo优化建议
  • 大连市网站制作电话如何做网站网页
  • ai可以用来做网站吗使用百度地图导航收费吗
  • 五八同城找工作五年级上册优化设计答案
  • 吴志国网站建设工作室海南百度推广中心
  • 网站建设文化渠道可以打广告的平台
  • 网站建设小程序开发seo推广关键词研究工具
  • 网站数据库怎么做同步吗河北seo
  • 网站建设注册密码咋弄重庆百度seo公司
  • 聊城手机网站建设服务武威网站seo
  • 陕西 网站建设 陕ICP代写软文公司
  • 网站图片要多少像素企业培训师资格证报考2022
  • 山东跨境独立站建站公司乐清网站建设
  • 做各国民宿租赁的网站百度识图搜索
  • 杭州房价暴跌已开始抖音seo排名系统
  • 濮阳百姓网免费发布信息网整站seo优化公司
  • 商城网站建设教学抖音优化
  • 中国住房和城乡建设部网站公文网址大全导航
  • php做的网站毕设会问的问题百度做广告费用
  • 网站设计 字体的搭配建网站教程
  • 做网站 阿里云和百度云哪个好优化合作平台
  • 招聘网站的销售怎么做百度问答平台
  • 电子商务主要就业岗位免费seo网站自动推广
  • 郑州手机网站建设多少钱关键词挖掘
  • 成安网站建设软文广告属于什么营销
  • 高臣网站建设公司河南网站建设优化技术
  • java做网站如何巩义关键词优化推广
  • 专业专业的网站开发郑州seo询搜点网络效果佳
  • 做APP好还是建设网站好怎么做营销推广
  • 做的好的食用菌公司网站有燕郊今日头条