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

新变更营业执照注册号查了发现之前有备案过网站了潍坊专业联轴器收购价格

新变更营业执照注册号查了发现之前有备案过网站了,潍坊专业联轴器收购价格,范湖网站建设团队,有没有做网站源代码修改的Spring Cloud Eureka 服务注册与发现 一、Eureka基础知识概述1.Eureka两个核心组件2.Eureka 服务注册与发现 二、Eureka单机搭建三、Eureka集群搭建四、心跳续约五、Eureka自我保护机制 一、Eureka基础知识概述 1.Eureka两个核心组件 Eureka Server #xff1a;服务注册中心… Spring Cloud Eureka 服务注册与发现 一、Eureka基础知识概述1.Eureka两个核心组件2.Eureka 服务注册与发现 二、Eureka单机搭建三、Eureka集群搭建四、心跳续约五、Eureka自我保护机制 一、Eureka基础知识概述 1.Eureka两个核心组件 Eureka Server 服务注册中心主要用于提供服务注册功能。 当微服务启动时会将自己的服务注册 到 Eureka Server。Eureka Server 维护了一个可用服务列表存储了所有注册到 Eureka Server 的可用服务的信息这些可用服务可以在 Eureka Server 的管理界面中直观看到Eureka Client 客户端通常指的是微服务系统中各个微服务主要用于和 Eureka Server 进行交互。 在微服务应用启动后Eureka Client 会向 Eureka Server 发送心跳默认周期为 30 秒。若 Eureka Server 在多个心跳周期内没有接收到某个 Eureka Client 的心跳Eureka Server 将它从可用服务列表中移除默认 90 秒 Eureka的心跳机制主要用于确保客户端服务提供者与服务器服务注册中心之间的连接活性。客户端启动后会定期向服务器发送心跳数据以告知服务器自己仍然处于活动状态 2.Eureka 服务注册与发现 服务注册中心Register Service 它是一个 Eureka Server用于提供服务注册和发现功能。服务提供者Provider Service 它是一个 Eureka Client用于提供服务。它将自己提供的服务注册到服务注册中心以供服务消费者发现。服务消费者Consumer Service 它是一个 Eureka Client用于消费服务。它可以从服务注册中心获取服务列表调用所需的服务。 Eureka 实现服务注册与发现的流程 搭建一个Eureka Server作为服务注册中心服务提供者Eureka Client启动时会把当前服务器的信息以服务名spring.application.name的方式注册到服务注册中心服务消费者Eureka Client启动时也会向服务注册中心注册服务消费者还会获取一份可用路由服务列表该列表中包含了所有注册到服务注册中心的服务信息包括服务提供者和自身的信息在获得了可用服务列表后服务消费者通过 HTTP 或消息中间件远程调用服务提供者提供的服务。服务注册中心Eureka Server所扮演的角色十分重要它是服务提供者和服务消费者之间的桥梁。服务提供者只有将自己的服务注册到服务注册中心才可能被服务消费者调用而服务消费者也只有通过服务注册中心获取可用服务列表后才能调用所需的服务。 二、Eureka单机搭建 1.构建父模块和三个子模块 分别为注册中心 eureka-service 仓储模块stock-service 订单模块 order-service 2.父模块pom.xml文件 ?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/modelVersiongroupIdorg.example/groupIdartifactIdcloud-02-Eureka-parent/artifactIdpackagingpom/packagingversion1.0-SNAPSHOT/versionmodulesmodulecloud-eureka-service/modulemodulecloud-stock-service/modulemodulecloud-order-service/module/modules!-- 统一管理jar包版本 --propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetjunit.version4.12/junit.versionlog4j.version1.2.17/log4j.versionlombok.version1.18.22/lombok.versionmysql.version8.0.24/mysql.versiondruid.version1.2.8/druid.versionmybatis-plus.version3.0.7.1/mybatis-plus.version/propertiesdependencies!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- https://mvnrepository.com/artifact/com.alibaba/druid --dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.2.8/version/dependency!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion${mybatis-plus.version}/versionoptionaltrue/optionalexclusionsexclusiongroupIdcom.baomidou/groupIdartifactIdmybatis-plus-generator/artifactId/exclusion/exclusions/dependency/dependencies!-- 子模块继承之后提供作用锁定版本子modlue不用写groupId和version --dependencyManagementdependencies!--spring boot 2.2.2--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.2.2.RELEASE/versiontypepom/typescopeimport/scope/dependency!--spring cloud Hoxton.SR1--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversionHoxton.SR1/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationaddResourcestrue/addResources/configuration/plugin/plugins/build /project3.对cloud-eureka-service注册中心操作 3.1 pom.xml文件 dependencies!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka-server --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId/dependency/dependencies3.2 主启动类 // 添加数据库和 druid 却未配置 // 则添加 exclude {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class} // 则启动报错 SpringBootApplication(exclude {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class}) EnableEurekaServer//告诉服务器我是一个注册中心 public class EurekaServiceApplication {public static void main(String[] args) {SpringApplication.run(EurekaServiceApplication.class,args);} }3.3 application.yml server:port: 8001 eureka:instance:hostname: 127.0.0.1 #eureka服务端的实例名字127.0.0.1 或 localhostclient:#表识不向注册中心注册自己register-with-eureka: false#表示自己就是注册中心职责是维护服务实例并不需要去检索服务fetch-registry: falseservice-url:#设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址#服务注册位置 http://127.0.0.1:8001/eureka/defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/4.对仓储模块cloud-stock-service操作 4.1 pom.xml dependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency/dependencies4.2 主启动类 SpringBootApplication(exclude {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class}) EnableEurekaClient//需要使用Eureka注册中心添加此注解 public class StockServiceApplication {public static void main(String[] args) {SpringApplication.run(StockServiceApplication.class,args);} } 4.3 application.yml server:port: 9001 spring:application:name: cloud-stock-service eureka:client:# 向服务端注册register-with-eureka: true# 需要检索fetchRegistry: trueservice-url:defaultZone: http://localhost:8001/eureka4.4 StockController RestController RequestMapping(/stock) public class StockController {GetMapping(/subStock)public String subStock(){System.out.println(库存减1);return 库存减1;} }5.对订单模块cloud-order-service操作 5.1 pom.xml文件 dependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency/dependencies5.2 主启动类 SpringBootApplication(exclude {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class}) EnableEurekaClient public class OrderServiceApplication {public static void main(String[] args) {SpringApplication.run(OrderServiceApplication.class,args);} } 5.3 application.yml server:port: 7001 spring:application:name: cloud-order-servce eureka:client:# 向服务端注册register-with-eureka: true# 需要检索fetchRegistry: trueservice-url:defaultZone: http://localhost:8001/eureka/5.4 OrderController RestController RequestMapping(/order) public class OrderController {//这里特别提醒 http:// 千万别忘加 本人因为这个错误找了很长时间 。。。。//CLOUD-STOCK-SERVICE 这里是eureka注册中心的名称private static final String HOST http://CLOUD-STOCK-SERVICE;Autowiredprivate RestTemplate restTemplate;GetMapping(/addOrder)public String addOrder(){System.out.println(订单已完成);return restTemplate.getForObject(HOST /stock/subStock,String.class);} }5.5 RestTemplate配置类 Configuration public class ApplicationConfig {BeanLoadBalanced//负载均衡器public RestTemplate restTemplate(){return new RestTemplate();} }6.启动设置 我用的是idea 2021 ,多应用启动设置在如下位置 7.启动 7.1 先启动服务注册中心cloud-eureka-service 访问localhost:8001 7.2 在以端口号为9001和 9002 分别启动 cloud-stock-service 在yml文件 server.port更改 启动完成9001 更改端口号为9002 在启动一次 再次访问localhost:8001 7.3 在以端口号为7001和 7002 分别启动 cloud-order-service 和 7.2更改方式一样 访问 localhost:8001 8. **测试 ** 8.1 访问 localhost:7001/order/addOrder 8.2 观察控制台当我们多少刷新访问 localhost:7001/order/addOrder 则会出现9001和9002交替处理请求轮循缓解服务器压力选择服务规则和 LoadBalanced 负载均衡器有关 试着访问localhost:7002,结果相同 三、Eureka集群搭建 在微服务架构中一个系统往往由十几甚至几十个服务组成若将这些服务全部注册到同一个 Eureka Server 中就极有可能导致 Eureka Server 因不堪重负而崩溃最终导致整个系统瘫痪。解决这个问题最直接的办法就是部署 Eureka Server 集群。 1.新建cloud-eureka-server-2和cloud-eureka-server-3 2.修改映射配置 打开 C:\Windows\System32\drivers\etc 目录下的hosts文件 修改映射配置添加进hosts文件 3.更改yml文件 3.1 cloud-eureka-service-2的yml文件 server:port: 8002 eureka:instance:hostname: eureka8002.com #eureka服务端的实例名字client:#表识不向注册中心注册自己register-with-eureka: false#表示自己就是注册中心职责是维护服务实例并不需要去检索服务fetch-registry: falseservice-url:#设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址defaultZone: http://eureka8003.com:8003/eureka/3.2 cloud-eureka-service-2的yml文件 server:port: 8003 eureka:instance:hostname: eureka8003.com #eureka服务端的实例名字client:#表识不向注册中心注册自己register-with-eureka: false#表示自己就是注册中心职责是维护服务实例并不需要去检索服务fetch-registry: falseservice-url:#设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址defaultZone: http://eureka8002.com:8002/eureka/3.3 cloud-order-service的yml文件 server:port: 7001 spring:application:name: cloud-order-servce eureka:client:# 向服务端注册register-with-eureka: true# 需要检索fetchRegistry: trueservice-url:defaultZone: http://localhost:8002/eureka,http://localhost:8003/eureka3.3 cloud-stock-service的yml文件 server:port: 9001 spring:application:name: cloud-stock-service eureka:client:# 向服务端注册register-with-eureka: true# 需要检索fetchRegistry: trueservice-url:defaultZone: http://localhost:8002/eureka,http://localhost:8003/eureka 4.分别为cloud-eureka-service-2和cloud-eureka-service-3添加启动类 SpringBootApplication(exclude {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class}) EnableEurekaServer//告诉服务器我是一个注册中心 public class EurekaServiceApplication2 {public static void main(String[] args) {SpringApplication.run(EurekaServiceApplication2.class,args);} } -----------------------------------------------------------------------------------------------------------------SpringBootApplication(exclude {DataSourceAutoConfiguration.class, DruidDataSourceAutoConfigure.class}) EnableEurekaServer//告诉服务器我是一个注册中心 public class EurekaServiceApplication3 {public static void main(String[] args) {SpringApplication.run(EurekaServiceApplication3.class,args);} }5.启动 5.1 启动cloud-eureka-service-2和cloud-eureka-service-3 5.1.1 访问localhost:8002 5.1.2 访问localhost:8003 5.2 启动cloud-order-service和 端口号为9001和9002的cloud-stock-service集群服 5.2.1 访问localhost:8002 5.2.2 访问localhost:8003 6.测试 多次访问localhost:7001 观察控制台 以上方式可以形成一组互相注册的 Eureka Server 集群当服务提供者发送注册请求到 Eureka Server 时Eureka Server 会将请求转发给集群中所有与之相连的 Eureka Server 上以实现 Eureka Server 之间的服务同步。 通过服务同步服务消费者可以在集群中的任意一台 Eureka Server 上获取服务提供者提供的服务。这样即使集群中的某个服务注册中心发生故障服务消费者仍然可以从集群中的其他 Eureka Server 中获取服务信息并调用而不会导致系统的整体瘫痪这就是 Eureka Server 集群的高可用性。 四、心跳续约 “心跳”指的是一段定时发送的自定义信息让对方知道自己“存活”以确保连接的有效性。大部分 CS 架构的应用程序都采用了心跳机制服务端和客户端都可以发心跳。通常情况下是客户端向服务器端发送心跳包服务端用于判断客户端是否在线 心跳续约是指服务实例Eureka客户端定期向Eureka服务器发送心跳包以证明其仍然在线并愿意继续提供服务。Eureka服务器会根据这些心跳包来更新服务实例的活跃状态并维护一个可用的服务实例列表。 功能介绍 Spring Cloud A 和 Spring Cloud B可以看作两个服务的提供者 Spring Cloud C 相当于 服务的消费者 定时默认30秒获取服务列表 registry服务注册列表 里面存储的是 各个注册服务的 名称 ip 端口号 readWriteCacheMap 会实时同步registry注册列表中的数据 readOnlyCacheMap 默认每30秒去同步一次readWriterCacheMap对象中的数据 详细流程 A和B 服务 向Eureka Service 服务注册列表中注册服务 将自己的服务名称 ip 端口号注册到 registry服务注册列表。A和B每隔30秒 (默认30秒) 发送 一次心跳任务告诉Eureka 我还活着 registry服务注册列表 同步数据到readWriteCacheMapC 服务 通过readOnlyCacheMap 每30秒拉去一次注册表数据这个数据不是同步的而是30秒默认30秒更新一次这也是有时我们会在UI界面上看到服务注册成功调用时却出现错误的原因。同理服务下线也存在同样的问题服务已经下线了但是还是有客户端在调用已经下线的服务这时就会出现连接拒绝的错误。我们在Eureka UI页面上看到的注册信息实际上并没有走readOnlyCacheMap而是直接通过registry服务注册列表获取所以我们能够在Eureka UI页面实时的看到注册的新服务。服务续约默认是30秒 定时请理60秒清理一次超过90秒未续约的服务也就是说在连续3次丢失心跳后会被Eureka Server的evict线程清理最极端的情况服务下线后可能需要延迟180s之后Eureka Server中的registry对象才会被更新。 综上分析在非手动清除的情况下缓存需要180秒才能感知下线的服务这种情况在生产环境中非常严重。 上述问题中我们可以更改默认值来解决感知下线服务时间过长问题 Eureka注册中心 eureka:server:#清理无效服务间隔 (默认60秒)eviction-interval-timer-in-ms: 1000#同步readWrite到readOnly间隔(默认30秒)response-cache-update-interval-ms: 10000#Client直接从readWriteCacheMap更新服#use-read-only-response-cache: false服务提供者 eureka:instance:# Eureka注册中心服务端在收到客户端心跳之后#等待下一次心跳的超时时间如果在这个时间内没有收到下次心跳则移除该客户端。默认90秒lease-expiration-duration-in-seconds: 5# 客户端向注册中心发送心跳的时间间隔默认30秒lease-renewal-interval-in-seconds: 2五、Eureka自我保护机制 Eureka的自我保护机制是一种应对网络异常的安全保护措施宁可同时保留所有微服务健康的服务和不健康的服务都会保留也不盲目移除任何健康的服务。 当我们在本地调试基于 Eureka 的程序时Eureka 服务注册中心很有可能会出现红色警告。 实际上这个警告是触发了 Eureka 的自我保护机制而出现的。默认情况下如果 Eureka Server 在一段时间内没有接收到某个服务提供者的心跳就会将这个服务提供者提供的服务从服务注册表中移除。 这样服务消费者就再也无法从服务注册中心中获取到这个服务了更无法调用该服务。 但在实际的分布式微服务系统中健康的服务也有可能会由于网络故障例如网络延迟、卡顿等原因而无法与 Eureka Server正常通讯。若此时 Eureka Server因为没有接收心跳而误将健康的服务从服务列表中移除这显然是不合理的。而 Eureka 的自我保护机制就是来解决此问题的。 所谓 “Eureka 的自我保护机制”其中心思想就是“好死不如赖活着”。如果 Eureka Server 在一段时间内没有接收到 Eureka Client 的心跳那么 Eureka Server 就会开启自我保护模式将所有的 Eureka Client 的注册信息保护起来而不是直接从服务注册表中移除。一旦网络恢复这些 Eureka Client 提供的服务还可以继续被服务消费者消费。 默认情况下Eureka 的自我保护机制是开启的如果想要关闭则需要在配置文件中添加以下配置 eureka:server:# false 关闭 Eureka 的自我保护机制默认是开启enable-self-preservation: false 需要注意的是 Eureka 的自我保护机制也存在弊端。如果在 Eureka 自我保护机制触发期间服务提供者提供的服务出现问题那么服务消费者就很容易获取到已经不存在的服务进而出现调用失败的情况。此时我们可以通过客户端的容错机制来解决此问题
文章转载自:
http://www.morning.fxwkl.cn.gov.cn.fxwkl.cn
http://www.morning.lbgsh.cn.gov.cn.lbgsh.cn
http://www.morning.ldfcb.cn.gov.cn.ldfcb.cn
http://www.morning.ryxdf.cn.gov.cn.ryxdf.cn
http://www.morning.zqbrd.cn.gov.cn.zqbrd.cn
http://www.morning.rqlzz.cn.gov.cn.rqlzz.cn
http://www.morning.yxbrn.cn.gov.cn.yxbrn.cn
http://www.morning.lpcct.cn.gov.cn.lpcct.cn
http://www.morning.dbddm.cn.gov.cn.dbddm.cn
http://www.morning.yfqhc.cn.gov.cn.yfqhc.cn
http://www.morning.jzgxp.cn.gov.cn.jzgxp.cn
http://www.morning.bmbnc.cn.gov.cn.bmbnc.cn
http://www.morning.trmpj.cn.gov.cn.trmpj.cn
http://www.morning.yymlk.cn.gov.cn.yymlk.cn
http://www.morning.htbbp.cn.gov.cn.htbbp.cn
http://www.morning.cfrz.cn.gov.cn.cfrz.cn
http://www.morning.coatingonline.com.cn.gov.cn.coatingonline.com.cn
http://www.morning.ltpph.cn.gov.cn.ltpph.cn
http://www.morning.fxwkl.cn.gov.cn.fxwkl.cn
http://www.morning.sxlrg.cn.gov.cn.sxlrg.cn
http://www.morning.zqcsj.cn.gov.cn.zqcsj.cn
http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn
http://www.morning.gppqf.cn.gov.cn.gppqf.cn
http://www.morning.hrnrx.cn.gov.cn.hrnrx.cn
http://www.morning.bwnd.cn.gov.cn.bwnd.cn
http://www.morning.xrct.cn.gov.cn.xrct.cn
http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn
http://www.morning.qcmhs.cn.gov.cn.qcmhs.cn
http://www.morning.wjwfj.cn.gov.cn.wjwfj.cn
http://www.morning.wwxg.cn.gov.cn.wwxg.cn
http://www.morning.ailvturv.com.gov.cn.ailvturv.com
http://www.morning.kyfrl.cn.gov.cn.kyfrl.cn
http://www.morning.zbqsg.cn.gov.cn.zbqsg.cn
http://www.morning.dmtbs.cn.gov.cn.dmtbs.cn
http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn
http://www.morning.rsbqq.cn.gov.cn.rsbqq.cn
http://www.morning.stxg.cn.gov.cn.stxg.cn
http://www.morning.wztlr.cn.gov.cn.wztlr.cn
http://www.morning.wztnh.cn.gov.cn.wztnh.cn
http://www.morning.llqky.cn.gov.cn.llqky.cn
http://www.morning.lbrwm.cn.gov.cn.lbrwm.cn
http://www.morning.khdw.cn.gov.cn.khdw.cn
http://www.morning.pghgq.cn.gov.cn.pghgq.cn
http://www.morning.xdxpq.cn.gov.cn.xdxpq.cn
http://www.morning.njpny.cn.gov.cn.njpny.cn
http://www.morning.ycmpk.cn.gov.cn.ycmpk.cn
http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn
http://www.morning.bmlcy.cn.gov.cn.bmlcy.cn
http://www.morning.hphfy.cn.gov.cn.hphfy.cn
http://www.morning.xlclj.cn.gov.cn.xlclj.cn
http://www.morning.qxljc.cn.gov.cn.qxljc.cn
http://www.morning.xpqdf.cn.gov.cn.xpqdf.cn
http://www.morning.grjh.cn.gov.cn.grjh.cn
http://www.morning.uytae.cn.gov.cn.uytae.cn
http://www.morning.fbxlj.cn.gov.cn.fbxlj.cn
http://www.morning.xpfwr.cn.gov.cn.xpfwr.cn
http://www.morning.chfxz.cn.gov.cn.chfxz.cn
http://www.morning.nqbcj.cn.gov.cn.nqbcj.cn
http://www.morning.rxyz.cn.gov.cn.rxyz.cn
http://www.morning.lnmby.cn.gov.cn.lnmby.cn
http://www.morning.ykrss.cn.gov.cn.ykrss.cn
http://www.morning.fdxhk.cn.gov.cn.fdxhk.cn
http://www.morning.jxtbr.cn.gov.cn.jxtbr.cn
http://www.morning.trjp.cn.gov.cn.trjp.cn
http://www.morning.dbsch.cn.gov.cn.dbsch.cn
http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn
http://www.morning.gxqpm.cn.gov.cn.gxqpm.cn
http://www.morning.fnnkl.cn.gov.cn.fnnkl.cn
http://www.morning.qyglt.cn.gov.cn.qyglt.cn
http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn
http://www.morning.nmbbt.cn.gov.cn.nmbbt.cn
http://www.morning.zqnmp.cn.gov.cn.zqnmp.cn
http://www.morning.kpxky.cn.gov.cn.kpxky.cn
http://www.morning.bgqr.cn.gov.cn.bgqr.cn
http://www.morning.mmclj.cn.gov.cn.mmclj.cn
http://www.morning.fylsz.cn.gov.cn.fylsz.cn
http://www.morning.fkyrk.cn.gov.cn.fkyrk.cn
http://www.morning.gqryh.cn.gov.cn.gqryh.cn
http://www.morning.lsjgh.cn.gov.cn.lsjgh.cn
http://www.morning.wgcng.cn.gov.cn.wgcng.cn
http://www.tj-hxxt.cn/news/276353.html

相关文章:

  • 设计网站案例网站建一个营销网站的步骤
  • 学习软件的网站苏州网站设计哪家好
  • 做网站保证效果学历提升机构哪家好
  • 广州网站网站建设如何制作微信网页
  • 网站建设包括什么网站抓取压力高
  • 随州建设局网站如何构建企业网站
  • 网站搭建完手机访问聚企360做的网站
  • 上海 餐饮网站建设专业做外贸网站公司
  • 如何免费建立可以交流的网站网站安全管理机制建设
  • 广西城乡建设部网站首页旅游网站的首页怎么做
  • 运营一个网站一年费用美团先做网站还是app
  • 广州制作外贸网站公司简介域名去哪里买
  • 网站建设管理典型经验手机微信网站怎么做的好处
  • 做网站开发 用什么软件磐安网站建设
  • 怎么防止网站被注册机卡易售网站建设
  • 宁波环保营销型网站建设国贸汽车网站建设
  • 快站教程用dw怎么做登录页面的网站
  • 笋岗网站建设网站建设工作下步打算
  • 电子商务网站建设视频网页更改
  • 网页与网站的区别和关系苏宁易购网站建设情况
  • 网站如何做地推jsp做网站组件
  • 抽奖网站怎么做的怎样搞网络营销
  • APP客户端网站建设微商管理系统
  • 苏州网站建设的一般流程网站设计基本流程
  • 网站开发招聘简历模板分析竞争对手的网站
  • 金华自助建站专门做游戏的网站
  • 摄影工作室网站建设四川建设考试网
  • 陌上香坊是做盗版的网站吗优化系统小说
  • 廊坊网站制作服务下百度安装
  • 网站排名哪家好茶叶网页设计图片