# Router this guide shows how to customize your own router management.

### Introduction

A Router plugin should has ability to fetch router rule, it decides where the route rule comes from.

go chassis has standardized model “config.RouteRule”, you must adapt to it ```go type Router interface {

Init(Options) error SetRouteRule(map[string][]*config.RouteRule) FetchRouteRuleByServiceName(service string) []*config.RouteRule ListRouteRule() map[string][]*config.RouteRule

}

### Usage First, install your plugin ```go router.InstallRouterPlugin(“istio”, func() (router.Router, error) {

//return your router implementation

})

```

Second, specify your plugin name in router.yaml ```yaml servicecomb:

router:

plugin: istio address: “xxx”

```

go chassis will use your router implementation as router rule configuration source, to know how to manage request traffics, refer to [Router](https://go-chassis.readthedocs.io/en/latest/user-guides/router.html)