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

苏州专业网站建设百度的搜索引擎优化

苏州专业网站建设,百度的搜索引擎优化,36岁了初中毕业想提升学历,源码站用dz wordpress组件 服务注册和发现 微服务模块中#xff0c;一般是以集群的方式进行部署的#xff0c;如果我们调用的时候以硬编码的方式#xff0c;那么当服务出现问题、服务扩缩容等就需要对代码进行修改#xff0c;这是非常不好的。所以微服务模块中就出现了服务注册和发现组件一般是以集群的方式进行部署的如果我们调用的时候以硬编码的方式那么当服务出现问题、服务扩缩容等就需要对代码进行修改这是非常不好的。所以微服务模块中就出现了服务注册和发现组件比较常用的组件有Eureka、Consul、Nacos在微服务系列中也是针对这三个组件来进行介绍。 负载均衡 由于以集群的方式部署因此我们就要考虑调用哪台机子的问题所以微服务模块中又出现了负载均衡组件 在微服务系列中针对LoadBalancer组件进行介绍。 分布式配置管理 微服务导致会出现大量的服务而每个服务都需要必要的配置此时就迫切需要一套集中式的、动态的配置管理设施在微服务系列中针对Consul、Nacos组件进行介绍。 网关 微服务的出现导致大量的服务从而导致大量的IP地址这对前端是不友好的。但是本着脏话累活后端来干的优良品质因此又出现了一系列的组件来解决这个问题在微服务系列中针对Gateway组件进行介绍。 服务调用 单体项目中想要调用别的业务只需要注入即可但是在微服务中业务进行拆分因此无法通过注入的方式来进行调用。不过例如RestTemplate、HttpClient等都是可以进行URL发送的但是这种方式也会造成硬编码的出现。于是微服务又出现了一系列组件来解决这个问题 在微服务系列中针对OpenFeign组件进行介绍。 服务链路追踪 微服务应用中可能一个业务的完成就需要调用N个服务如果该业务效率低下、响应结果错误。我们就需要去定位是哪里的响应慢、哪里的服务出现错误但是靠肉眼是没法看出来的。因此微服务又出现了组件来对一次调用的链路进行记录从而可以在出现问题后快速解决问题。 在微服务系列中针对Micrometer Tracing组件进行介绍。 服务熔断和降级 微服务的出现本来就是为了解决单体项目资源不足的情况因此当流量过多或者服务出错时我们就要采取降低流量等措施对于这种问题 在微服务系列中针对Circuit Breaker和Sentinel组件进行介绍。 分布式事务 单体应用中我们经常要用到事务微服务应用也不例外因此对于这种应用场景。 在微服务系列中针对Seata组件进行介绍。 在微服务系列中基本上就是对上述组件的介绍不会涉及太多的底层原因主要是介绍如何进行操作后续有实力之后再对其源码进行分析介绍。 基础工程构建 业务场景 以订单服务调用商品服务为例来对SpringCloud的一系列组件进行介绍。 数据准备 -- 建库商品库 create database if not exists cloud_product charset utf8mb4; -- 使用库 use cloud_product; -- 产品表 DROP TABLE IF EXISTS product_detail; CREATE TABLE product_detail ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT 产品id, product_name varchar ( 128 ) NULL COMMENT 产品名称, product_price BIGINT ( 20 ) NOT NULL COMMENT 产品价格, state TINYINT ( 4 ) NULL DEFAULT 0 COMMENT 产品状态 0-有效 1-下架, create_time DATETIME DEFAULT now(), update_time DATETIME DEFAULT now(), PRIMARY KEY ( id )) ENGINE INNODB DEFAULT CHARACTER SET utf8mb4 COMMENT 产品表; -- 数据初始化 insert into product_detail (id, product_name,product_price,state) values (1001,T恤, 101, 0), (1002, 短袖,30, 0), (1003, 短裤,44, 0), (1004, 卫⾐,58, 0), (1005, ⻢甲,98, 0),(1006,⽻绒服, 101, 0), (1007, 冲锋⾐,30, 0), (1008, 袜⼦,44, 0), (1009, 鞋⼦,58, 0), (10010, ⽑⾐,98, 0); -- 建库订单库 create database if not exists cloud_order charset utf8mb4; -- 使用库 use cloud_order; -- 订单表 DROP TABLE IF EXISTS order_detail; CREATE TABLE order_detail (id BIGINT NOT NULL AUTO_INCREMENT COMMENT 订单id,user_id BIGINT ( 20 ) NOT NULL COMMENT ⽤⼾ID,product_id BIGINT ( 20 ) NULL COMMENT 产品id,num INT ( 10 ) NULL DEFAULT 0 COMMENT 下单数量,price BIGINT ( 20 ) NOT NULL COMMENT 实付款,delete_flag TINYINT ( 4 ) NULL DEFAULT 0,create_time DATETIME DEFAULT now(),update_time DATETIME DEFAULT now(), PRIMARY KEY ( id )) ENGINE INNODB DEFAULT CHARACTER SET utf8mb4 COMMENT 订单表; -- 数据初始化 insert into order_detail (user_id,product_id,num,price) values (2001, 1001,1,99), (2002, 1002,1,30), (2001, 1003,1,40), (2003, 1004,3,58), (2004, 1005,7,85), (2005, 1006,7,94); 工程搭建 搭建父工程 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.wbz/groupIdartifactIdspring-cloud-test/artifactIdversion1.0-SNAPSHOT/versionpackagingpom/packagingmodulesmodulecloud-provider-payment8001/modulemodulecloud-consumer-order80/module/modulespropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodingspring-cloud.version2023.0.0/spring-cloud.versionspring-cloud-alibaba.version2022.0.0.0-RC2/spring-cloud-alibaba.versionmysql.version8.0.31/mysql.versiondruid.version1.2.18/druid.versionmybatis-plus.version3.5.7/mybatis-plus.versionlombok.version1.18.28/lombok.version/properties!--SpringBoot--parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.2.0/versionrelativePath/ !-- lookup parent from repository --/parentdependencyManagementdependencies!--SpringCloud--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency!--SpringCloudAlibaba--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency!--MySQL驱动--dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdversion${mysql.version}/version/dependency!--Druid--dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion${druid.version}/version/dependency!--MP--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-spring-boot3-starter/artifactIdversion${mybatis-plus.version}/version/dependency!--Lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/version/dependency/dependencies/dependencyManagement/project 搭建子工程 - 商品服务 在该业务背景下商品服务作为服务提供方出现。 搭建一个模块一般分为建模块、写pom文件、写yml文件、改主启动类、写业务类。 建模块  写pom文件 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.wbz/groupIdartifactIdspring-cloud-test/artifactIdversion1.0-SNAPSHOT/version/parentartifactIdcloud-provider-product8001/artifactIdpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!--SpringBoot通用模块--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--Lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency!--Druid--dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactId/dependency!--MySQL驱动--dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactId/dependency!--MP--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-spring-boot3-starter/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project 写yml文件 server:port: 8001spring:application:name: cloud-provider-payment8001mvc:pathmatch:matching-strategy: ant_path_matcher # 路径匹配策略datasource:url: jdbc:mysql://127.0.0.1:3306/cloud_product?characterEncodingutf8useSSLfalseallowPublicKeyRetrievaltrueallowMultiQueriestrueusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driverprofiles:active: devmybatis-plus:configuration:map-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.stdout.StdOutImplmapper-locations: classpath:mapper/**Mapper.xmltype-aliases-package: com.wbz.domain 改主启动类 /*** 微服务生产者模块表示被调用的一方*/MapperScan(com.wbz.mapper) SpringBootApplication public class ProductProviderApplication8001 {public static void main(String[] args) {SpringApplication.run(ProductProviderApplication8001.class, args);}} 写业务类 // model /*** 产品表*/Data AllArgsConstructor NoArgsConstructor TableName(product_detail) public class Product {TableIdprivate Long id;TableFieldprivate String productName;TableFieldprivate Long productPrice;TableFieldprivate Integer state;TableFieldJsonFormat(pattern yyyy-MM-dd HH:mm:ss, timezone GMT8)private LocalDateTime createTime;TableFieldJsonFormat(pattern yyyy-MM-dd HH:mm:ss, timezone GMT8)private LocalDateTime updateTime;}// 持久层接口 public interface ProduceMapper extends BaseMapperProduct { }// 服务层接口 public interface ProductService extends IServiceProduct {Product getProductById(Long productId);}// 服务层实现类 Service public class ProductServiceImpl extends ServiceImplProduceMapper, Product implements ProductService {Overridepublic Product getProductById(Long productId) {return this.getById(productId);}}// 控制层类 RestController RequestMapping(/product) public class ProductController {Resourceprivate ProductService productService;GetMapping(/query/{productId})public Product getProductById(PathVariable Long productId) {return this.productService.getProductById(productId);}} 启动项目之后访问url127.0.0.1:8001/product/query/1001返回如下页面就算调用成功 整体代码结构如下 搭建子工程 - 订单服务 在该业务背景下订单服务作为服务调用方出现。 建模块 写pom文件 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.wbz/groupIdartifactIdspring-cloud-test/artifactIdversion1.0-SNAPSHOT/version/parentartifactIdcloud-consumer-order80/artifactIdpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!--SpringBoot通用模块--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--Lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency!--Druid--dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactId/dependency!--MySQL驱动--dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactId/dependency!--MP--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-spring-boot3-starter/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project 写yml文件 server:port: 80spring:application:name: cloud-consumer-order80mvc:pathmatch:matching-strategy: ant_path_matcher # 路径匹配策略datasource:url: jdbc:mysql://127.0.0.1:3306/cloud_order?characterEncodingutf8useSSLfalseallowPublicKeyRetrievaltrueallowMultiQueriestrueusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driverprofiles:active: devmybatis-plus:configuration:map-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.stdout.StdOutImplmapper-locations: classpath:mapper/**Mapper.xmltype-aliases-package: com.wbz.domain 改主启动类 /*** 微服务消费者模块调用的一方*/SpringBootApplication MapperScan(com.wbz.mapper) public class OrderConsumerApplication80 {public static void main(String[] args) {SpringApplication.run(OrderConsumerApplication80.class, args);}} 写业务类 // 实体类 Data NoArgsConstructor AllArgsConstructor TableName(order_detail) public class Order {TableIdprivate Long id;TableFieldprivate Long userId;TableFieldprivate Long productId;TableFieldprivate Integer num;TableFieldprivate Long price;TableFieldprivate Integer deleteFlag;TableFieldJsonFormat(pattern yyyy-MM-dd HH:mm:ss, timezone GMT8)private LocalDateTime createTime;TableFieldJsonFormat(pattern yyyy-MM-dd HH:mm:ss, timezone GMT8)private LocalDateTime updateTime;TableField(exist false)private Product product;}// mapper接口 public interface OrderMapper extends BaseMapperOrder { }// service接口 public interface OrderService extends IServiceOrder {Order getOrderById(Integer id);}// RestTemplateConfig实现类 Configuration public class RestTemplateConfig {Beanpublic RestTemplate restTemplate() {return new RestTemplate();}}// service实现类 Service public class OrderServiceImpl extends ServiceImplOrderMapper, Order implements OrderService {Resourceprivate RestTemplate restTemplate;Overridepublic Order getOrderById(Integer id) {Order order this.getById(id);String url http://127.0.0.1:8001/product/query/ order.getProductId();Product product this.restTemplate.getForObject(url, Product.class);order.setProduct(product);return order;}}// controller实现类 RestController RequestMapping(/order) public class OrderController {Resourceprivate OrderService orderService;GetMapping(/query/{id})public Order getOrderById(PathVariable Integer id) {return this.orderService.getOrderById(id);}} 启动项目之后访问url127.0.0.1/order/query/1出现如下页面就算调用成功
http://www.w-s-a.com/news/833005/

相关文章:

  • 联盟网站制作wap网站制作公司
  • 美丽乡村建设发展论坛网站wordpress 仿站 教程网
  • 浙江省建设注册管理中心网站首页优设设计网站导航
  • 台州小型网站建设国内免费的建网站平台
  • 自己做网站不推广网站建设工作室发展
  • 有女人和马做网站吗宁波seo优势
  • 网站做用户记录表电商运营推广计划方案
  • 网站备案认领杭州网页设计公司招聘
  • 易签到网站开发设计做网站运营有前途吗
  • 南通网站建设心得2023必考十大时政热点
  • 苍溪建设局网站公建设计网站
  • 九歌人工智能诗歌写作网站电子商务网站建设项目书
  • 做外贸的经常浏览的三个网站律师做哪个网站好
  • 中国公路建设招标网站长沙大型网站建设公司
  • 沈阳企业网站模板建站注册电子邮箱免费注册
  • 如何做简洁网站设计企业网站排名优化方案
  • 东莞网站建设服务商做触屏网站
  • 外国网站代理音乐网站建设
  • 珠江网站建设广安广告公司
  • 高端创意网站建设网页制作咨询公司
  • 网站建设及发布的流程图wordpress文章摘要显示
  • 淮北网站网站建设省好多会员app
  • 如何查看网站的更新频率网站图片要求
  • 网站设计公司收费标准wordpress修改文章链接
  • 镇江网站建设公司网站关键词密度怎么计算的
  • c 网站开发公司的网站的设计
  • 网站建设多长时间能学会做网站猫要做端口映射吗
  • 新手做网站视频网页设计期末作品要求
  • 做网站用户充值提现郑州高端模板建站
  • 运城做网站方式方法网站改版完成